gpg mit gpg-agent fragt niemals nach einer Passphrase

17

Ohne gpg-agent kann ich mein Passwort eingeben, um Dinge zu signieren:

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <[email protected]>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: gpg-agent is not available in this session
Enter passphrase:

Funktioniert gut. Ich möchte meine Passphrase jedoch nicht ständig eingeben, daher starte ich gpg-agent:

$  eval $(gpg-agent --daemon)

Jetzt würde ich erwarten, mindestens einmal zur Eingabe meiner Passphrase aufgefordert zu werden, aber das tue ich nie, und alle Operationen, die gpg verwenden, schlagen fehl.

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <[email protected]>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: cancelled by user
gpg: no default secret key: bad passphrase
gpg: signing failed: bad passphrase

Wie kann ich meine Passphrase im Agenten speichern lassen? Wie kann ich es dort aufbewahren, wenn ich es erst einmal habe? (Idealerweise möchte ich nie wieder dazu aufgefordert werden.) Dies ist unter Ubuntu 12.04.4 mit den Standard-apt-get-gpg-Paketen, falls es darauf ankommt.

jsd
quelle

Antworten:

18

Dies geschieht, wenn Sie gpg-agentnicht wissen, auf welches TTY Sie sich einlassen sollen. Dies geschieht hier, weil Sie stdin umleiten.

Sie können setzen export GPG_TTY=$(tty)in Ihrem ~/.bashrcfür jeden Login - Shell die TTY - Setup.

Die Dokumentationgpg-agent enthält weitere Details.

leedm777
quelle
7

Etwas spät, aber zu diesem Zeitpunkt tritt dieses Problem auf, wenn ich mich per Fernzugriff auf meinem PC (Linux-Centos) anmelde und versuche, eine PGP-Datei zu entschlüsseln. Ich habe es mit Dave's Vorschlag versucht, ohne Glück, google ich habe das gefunden

gpg: vom Benutzer storniert

Dieser Teil löst mein Problem:

Schließlich scheint das Problem gelöst zu sein, nachdem man es anderen erlaubt hat, auf tty zu r + wen

[root @ host ~] # chmod o + rw $ (tty)

Hoffe das kann jemand anderem helfen.

BR.

Vielinko
quelle
Dies würde funktionieren.
Machen Sie
Dies ist unsicher - Sie sollten sicherstellen, dass das tty dem richtigen Benutzer gehört, oder eine Gruppe mit den erforderlichen Benutzer- und Gruppenberechtigungen verwenden :)
Legooolas