„Keine solche Datei oder kein solches Verzeichnis“ beim Generieren eines GPG-Schlüssels

„Keine solche Datei oder kein solches Verzeichnis“ beim Generieren eines GPG-Schlüssels

Ich versuche einen GPG-Schlüssel zu generieren

$ gpg --full-gen-key

aber irgendwann bekomme ich eine Fehlermeldung

gpg: agent_genkey failed: No such file or directory
Key generation failed: No such file or directory

Ich verwende Arch Linux.

$ gpg --version
gpg (GnuPG) 2.1.15
libgcrypt 1.7.3
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/me123/.gnupg
.............

Das Verzeichnis /home/me123/.gnupg existiert

Antwort1

Haben Sie das Verzeichnis /home/me123/.gnupg gelöscht und es dann von gpg neu erstellt? Wenn ja, ist das wahrscheinlich der Grund, warum der Agent verwirrt ist.

Starten Sie entweder den Agenten neu ( gpgconf --kill gpg-agent) oder, noch drastischer, starten Sie Ihren Computer neu und versuchen Sie es erneut.

Antwort2

Es scheint, dass das Verzeichnis ~/.gnupg/private-keys-v1.d (unter bestimmten Umständen) nicht oder mit den falschen Berechtigungen erstellt wird.

# mkdir -p ~/.gnupg/private-keys-v1.d
# chmod 700 ~/.gnupg/private-keys-v1.d

Hat es für mich behoben.

Antwort3

Ich möchte nur zu diesem alten Thread hinzufügen, falls jemand hierher kommt und nach Antworten sucht, dass ich ein ähnliches Problem unter macOS (Big Sur 11.2) hatte. Nach dem Löschen des .gnupgVerzeichnisses hatte ich denselben Fehler wie OP. Das ~/.gnupg/private-keys-v1.dVerzeichnis wurde von GnuPG neu erstellt und hatte die richtigen Berechtigungen. Außerdem gpg-agentwar das Löschen nicht genug.

Mir fiel eine seltsame Datei im .gnupgVerzeichnis auf, die ungefähr so ​​hieß .#k0x0000000130605a20.MBP-van-##REDACTED##.52431. Nachdem ich diese Datei gelöscht hatte, funktionierte GnuPG wieder einwandfrei!

Antwort4

Das Hinzufügen dieser Zeile hat .zshrcbei mir funktioniert:

export GPG_TTY=$(tty)

verwandte Informationen