gnupg: получение ошибок при попытке gpg --gen-key

8

Я попытался удалить каталог .gnupg, но ошибка возвращается.

Я получаю это:

gpg: lookup_hashtable failed: eof
gpg: lookup_hashtable failed: eof
gpg: upd_hashtable: read failed: eof
gpg: trust record 2, type 12: write failed: eof
gpg: Error: The trustdb is corrupted.
gpg: You may try to re-create the trustdb using the commands:
gpg:   cd ~/.gnupg
gpg:   gpg2 --export-ownertrust > otrust.tmp
gpg:   rm trustdb.gpg
gpg:   gpg2 --import-ownertrust < otrust.tmp
gpg: If that does not work, please consult the manual

Я попытался следовать совету, выброшенному из-за ошибки, и это тоже не работает. Пробовал поискать в Google проблему, но ничего не найдено для "lookup_hastable".

Я также установил морского конька, и мои ключи ssh хранятся в морском коньке. Может ли быть конфликт с морским коньком?

Я бегу gpg --gen-keyиз своей обычной учетной записи пользователя и не пытаюсь сделать что-то необычное: просто создайте стандартный ключ gpg.

bitofagoob
источник
Вы следовали инструкции из сообщения об ошибке?
Тимоти Траклле
1
Какая версия GnuPG это? Есть ли какой-то случай gpg-agentзапуска, который мешает, и, возможно, его нужно убить?
Кусалананда
2
Rungpg --fix-trustdb
GAD3R
1
У меня был запущен gpg-agent. Я убил его и попытался создать другой ключ: та же проблема. Затем я удалил каталог ~ / .gnupg, и он работает! Я попытаюсь перезагрузиться, чтобы увидеть, вернется ли gpg-agent, чтобы снова остановить меня. Спасибо!
bitofagoob
2
gpg-agentбудет автоматически запускаться при выполнении ключевых операций с GnuPG 2.1, как и должно быть. Проблема заключалась либо в том, что вы используете две разные версии GnuPG одновременно, либо в том, что что-то еще изменило содержимое .gnupgкаталога таким образом, что gpg-agentзапутался. При удалении .gnupgкаталога работающий gpg-agentне знал об этом. Это очень тип объяснения "маханием рукой".
Кусалананда

Ответы:

2

Я столкнулся с подобной проблемой с ошибкой lookup_hashtable из-за Unknown system errorэтого.

Я понял, что это произошло после импорта закрытого ключа через gpg (а не gpg2) с помощью gpg --allow-secret-key-import --import private.key

После установки уровня доверия после этого поста ошибка исчезла.

Виджай Агравал
источник
Спасибо, это помогло! Я думаю, что в качестве части команд он использует rm, который не работает, если он является интерактивным "rm -i"
kumar
0

У меня такая же проблема. Важно понимать, что есть две основные версии GnuPG («классическая» и «стабильная», а также «современная» 2.1): gpgи gpg2(в Fedora Core они предоставляются пакетами gnupgи gnupg2соответственно).

Я много искал в Интернете trustdb, удалял ~/.gnupg, но мог найти очень мало информации, и это не помогло.

Поскольку в моем репозитории ОС была старая версия gpg, я загрузил «современную» gpgс официального сайта. Возникла проблема libgrypt, мне нужно было установить более новую версию библиотеки для gpgработы. Когда я делал это вручную, моя система вообще отказывалась загружаться. Я думаю, что скоро это исправлю, но теперь я работаю с другого ноутбука.

Наконец я понял, что пакет есть, gnupg2и gpg2вместо команды использовал команду gpg. Это сработало без нареканий. Вы можете установить Баш alias gpg=gpg2в вашем , .bash_profileесли вы хотите забыть о цифрах на всех.

Ярослав Никитенко
источник