gpg avec gpg-agent ne demande jamais de phrase secrète

17

Sans gpg-agent en cours d'exécution, je peux saisir ma phrase secrète pour signer les choses:

$ 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:

Fonctionne bien. Mais je ne veux pas taper mon mot de passe tout le temps, alors je lance gpg-agent:

$  eval $(gpg-agent --daemon)

Maintenant, je m'attendrais à être invité à saisir ma phrase secrète au moins une fois, mais je ne le suis jamais, et toutes les opérations utilisant gpg échouent.

$ 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

Comment enregistrer ma phrase secrète dans l'agent? Une fois que je l'ai là, comment le garder pendant les sessions de connexion? (Idéalement, je ne veux plus jamais être invité.) C'est sur Ubuntu 12.04.4 avec les paquets gpg apt-get standard, au cas où cela importerait.

jsd
la source

Réponses:

18

Cela se produit lorsque gpg-agentne sait pas sur quel TTY demander, ce qui se produit ici car vous redirigez stdin.

Vous pouvez mettre export GPG_TTY=$(tty)votre ~/.bashrcpour configurer le TTY pour chaque shell de connexion.

La documentation surgpg-agent contient plus de détails.

leedm777
la source
7

Un peu tard, mais à ce moment, je suis confronté à ce problème lorsque je me connecte à distance à mon PC (Linux-Centos) et essaie de décrypter un fichier PGP. J'ai essayé la suggestion de Dave, sans chance, googler j'ai trouvé ça

gpg: annulé par l'utilisateur

Cette partie résout mon problème:

Enfin, après avoir permis à d'autres de r + w sur tty semblent résoudre ce problème

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

J'espère que cela peut aider quelqu'un d'autre.

BR.

Vielinko
la source
Celui-ci fonctionnerait .. Il suffit de faire la partie chmod tty avant de faire su à l'utilisateur
user169015
Ce n'est pas sûr - vous devez vous assurer que le tty appartient au bon utilisateur, ou peut-être utiliser un groupe avec les utilisateurs requis et les autorisations de groupe :)
Legooolas