gnupg: Fehler beim Versuch, gpg --gen-key zu verwenden

8

Ich habe versucht, mein .gnupg-Verzeichnis zu löschen, aber der Fehler wird zurückgegeben.

Ich verstehe das:

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

Ich habe versucht, den Ratschlägen des Fehlers zu folgen, und das funktioniert auch nicht. Versucht, das Problem zu googeln, aber für "lookup_hastable" wird nichts angezeigt.

Ich habe auch Seepferdchen installiert und meine SSH-Schlüssel in Seepferdchen gespeichert. Könnte es zu Konflikten mit Seepferdchen kommen?

Ich laufe gpg --gen-keyvon meinem normalen Benutzerkonto aus und versuche nichts Besonderes zu tun: Erstelle einfach einen Standard-GPG-Schlüssel.

Bitofagoob
quelle
Haben Sie die Anweisungen aus der Fehlermeldung befolgt?
Timothy Truckle
1
Welche Version von GnuPG ist das? Gibt es eine gpg-agentstörende Instanz des Laufens, die möglicherweise getötet werden muss?
Kusalananda
2
Rungpg --fix-trustdb
GAD3R
1
Ich hatte GPG-Agent ausgeführt. Ich habe es getötet und versucht, einen anderen Schlüssel zu erstellen: das gleiche Problem. Dann habe ich mein ~ / .gnupg Verzeichnis gelöscht und es funktioniert! Ich werde versuchen, neu zu starten, um zu sehen, ob gpg-agent zurückkommt, um mich wieder zu stoppen. Vielen Dank!
Bitofagoob
2
gpg-agentwird automatisch gestartet, wenn Schlüsseloperationen mit GnuPG 2.1 ausgeführt werden, wie es sollte. Das Problem war entweder, dass Sie zwei verschiedene Versionen von GnuPG gleichzeitig verwenden, oder dass etwas anderes den Inhalt des .gnupgVerzeichnisses so geändert hat , dass es gpg-agentverwirrt wurde. Beim Löschen des .gnupgVerzeichnisses war der Ausführung dies gpg-agentnicht bekannt. Das ist eine Art "Hand winken" Erklärung.
Kusalananda

Antworten:

2

Ich hatte ein ähnliches Problem mit lookup_hashtable, das Unknown system errorstattdessen fehlschlug .

Ich dachte, dass es passiert ist, nachdem ich einen privaten Schlüssel über gpg (und nicht gpg2) mit importiert habe gpg --allow-secret-key-import --import private.key

Nach dem Festlegen der Vertrauensstufe nach diesem Beitrag war der Fehler behoben.

Vijay Agrawal
quelle
Danke, es hat geholfen! Ich denke, als Teil von Befehlen verwendet es rm, was fehlschlägt, wenn es interaktiv ist "rm -i"
kumar
0

Ich hatte das gleiche Problem. Was ist wichtig zu erkennen, ist , dass es zwei Hauptversionen von GnuPG ( ‚klassischen‘ und ‚stabil‘, und es gibt auch eine ‚moderne‘ 2.1): gpgund gpg2(auf Fedora Core sie werden von Paketen zur Verfügung gestellt gnupgund gnupg2jeweils).

Ich habe im Internet trustdbausgiebig gesucht , entfernt ~/.gnupg, konnte aber nur sehr wenige Informationen finden und das hat nicht geholfen.

Da es in meinem Betriebssystem-Repository eine alte Version von gab gpg, habe ich eine 'moderne' gpgvon der offiziellen Website heruntergeladen . Es gab ein Problem mit libgrypt, ich musste eine neuere Bibliotheksversion installieren gpg, damit es funktioniert. Als ich es manuell gemacht habe, hat sich mein System geweigert, überhaupt zu booten. Ich denke, ich werde das bald beheben, aber jetzt arbeite ich von einem anderen Laptop aus.

Schließlich wurde mir klar, dass es ein Paket gibt, gnupg2und ich verwendete gpg2stattdessen den Befehl gpg. Das hat einwandfrei funktioniert. Sie können eine Bash alias gpg=gpg2in Ihrem setzen, .bash_profilewenn Sie Zahlen überhaupt vergessen möchten.

Jaroslaw Nikitenko
quelle