gnupg: Obtention d'erreurs lors de la tentative de gpg --gen-key

8

J'ai essayé de supprimer mon répertoire .gnupg mais l'erreur revient.

J'ai compris:

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

J'ai essayé de suivre les conseils émis par l'erreur et cela ne fonctionne pas non plus. J'ai essayé de googler le problème mais rien ne vient pour "lookup_hastable".

J'ai également installé Seahorse et mes clés SSH sont stockées dans Seahorse. Pourrait-il y avoir un conflit avec l'hippocampe?

Je cours gpg --gen-keydepuis mon compte utilisateur normal et je n'essaie pas de faire quoi que ce soit de fantaisiste: il suffit de créer une clé gpg standard.

bitofagoob
la source
avez-vous suivi les instructions du message d'erreur?
Timothy Truckle
1
De quelle version de GnuPG s'agit-il? Y a-t-il une instance d' gpg-agentexécution qui interfère et qui pourrait devoir être supprimée?
Kusalananda
2
Coursegpg --fix-trustdb
GAD3R
1
J'ai fait fonctionner gpg-agent. Je l'ai tué et j'ai essayé de créer une autre clé: même problème. Ensuite, j'ai supprimé mon répertoire ~ / .gnupg et cela fonctionne! Je vais essayer de redémarrer pour voir si gpg-agent revient pour m'arrêter à nouveau. Merci!
bitofagoob
2
gpg-agentdémarrera automatiquement lors des opérations clés avec GnuPG 2.1, comme il se doit. Le problème était soit que vous utilisez deux versions différentes de GnuPG à la fois, soit que quelque chose d'autre a modifié le contenu du .gnupgrépertoire de telle manière que cela gpg-agents'est confondu. Lors de la suppression du .gnupgrépertoire, l'exécution gpg-agentn'était pas au courant. C'est vraiment une explication du type "agitant la main".
Kusalananda

Réponses:

2

J'ai rencontré un problème similaire avec échec de lookup_hashtable à la Unknown system errorplace.

Je pensais que cela s'était produit après l'importation d'une clé privée via gpg (et non gpg2) en utilisant gpg --allow-secret-key-import --import private.key

Après avoir défini le niveau de confiance après ce message , l'erreur a disparu.

Vijay Agrawal
la source
Merci, ça a aidé! Je pense que dans le cadre des commandes, il utilise rm qui échoue s'il est interactif "rm -i"
kumar
0

J'ai eu le même problème. Ce qui est important à réaliser, c'est qu'il existe deux versions principales de GnuPG (`` classique '' et `` stable '', et il y a aussi un `` moderne '' 2.1): gpget gpg2(sur Fedora Core, elles sont fournies par des packages gnupget gnupg2respectivement).

J'ai fait des recherches trustdbapprofondies sur Internet , supprimé ~/.gnupg, mais j'ai pu trouver très peu d'informations et cela n'a pas aidé.

Étant donné que dans mon référentiel OS, il y avait une ancienne version de gpg, j'ai téléchargé un «moderne» gpgsur le site officiel. Il y avait un problème avec libgrypt, j'avais besoin d'installer une nouvelle version de bibliothèque pour gpgtravailler. Lorsque je l'ai fait manuellement, mon système a refusé de démarrer. Je pense que je vais résoudre ce problème bientôt, mais maintenant je travaille à partir d'un autre ordinateur portable.

Finalement, j'ai réalisé qu'il y avait un paquet gnupg2et j'ai utilisé la commande à la gpg2place de gpg. Cela a parfaitement fonctionné. Vous pouvez définir un bash alias gpg=gpg2dans votre .bash_profilesi vous souhaitez oublier les chiffres.

Yaroslav Nikitenko
la source