J'utilise gpg-agent
pour me souvenir et fournir mon GnuPG
mot de passe lors de la construction des Debian/Ubuntu
packages. Mais je ne sais toujours pas comment ça gpg-agent
marche. J'invoque gpg-agent
comme:
eval $(gpg-agent --daemon)
Ça marche parfois. Mais ce qui me dérange, c'est que parfois ça ne marche pas. C'est-à-dire que parfois le processus de construction demande mes GnuPG
mots de passe une fois, parfois aucun et parfois plusieurs fois. Tout cela se produit au cours d'une seule session bash, après avoir invoqué gpg-agent
comme auparavant. Le fait de ne pas demander de mot de passe cette fois ne garantit pas que je ne recevrai pas de mot de passe la prochaine fois. Je n'ai toujours pas compris pourquoi gpg
décide de me demander un mot de passe et pourquoi il ne le fait pas.
Cela vous arrive-t-il aussi?
Merci
.authinfo.gpg
, j'ai eu une astuce à utilisergpg2
, quigpg-agent
est associée à. Donc ça(setq epg-gpg-program "/usr/bin/gpg2")
a marché pour moi. Vous devrez peut-être découvrir laquelle de vos applications rencontre le problème, elles préfèrent peut-êtregpg
(1).Réponses:
Trouvé comment utiliser correctement à
gpg-agent
partir de http://tr.opensuse.org/SDB:Using_gpg-agentAprès cela, mon
gpg-agent
démon metGnuPG
correctement en cache mes mots de passe maintenant. Il n'y avait rien de mal avec ma configuration, juste que je ne savais pas comment tester si mesGnuPG
mots de passe étaient correctement mis en cache ou non.Maintenant oui:
Sur le site: "Remplacez 0xMYKEYID par votre ID de clé GnuPG. Lors de l'exécution de cette commande, l'agent doit ouvrir une boîte de dialogue de mot de passe graphique deux fois: d'abord pour la signature ou le chiffrement (gpg -ase) (gpg -ase) puis pour le déchiffrement ou la vérification de la signature ( | gpg). Désormais, chaque fois que GnuPG est utilisé (soit à partir de la ligne de commande, soit intégré à un programme graphique tel que KMail), le mot de passe de gpg-agent sera transmis automatiquement (jusqu'à l'expiration du délai d'expiration ou jusqu'à ce que l'interface graphique soit fermé)."
Et pour éviter l'expiration de la mise en cache, j'ai maintenant défini un délai d'expiration extrêmement long:
la source
--write-env-file "${HOME}/.gpg-agent-info"
au démarrage de gpg-agent, puis ajouterif [ -f "${HOME}/.gpg-agent-info" ]; then . "${HOME}/.gpg-agent-info"; export GPG_AGENT_INFO fi
à votre .bashrc pour détecter si l'agent est déjà en cours d'exécution. On dirait une solution un peu plus propre.WARNING: "--write-env-file" is an obsolete option - it has no effect
depuis au moinsApr 4 '16
. Ref: serverfault.com/a/481174