J'essaie de consolider mon logiciel de cryptage sur GnuPG, et je rencontre un problème déroutant.
Mon unité principale est un serveur sans tête et je travaille exclusivement dans tmux. Il n'y a pas de session X, et donc j'ai configuré gpg-agent pour utiliser les curseurs pinentry. J'ai configuré gpg-agent pour être appelé à la connexion avec l'émulation ssh-agent avec ce script:
if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
eval `cat $gnupginf`
eval `cut -d= -f1 $gnupginf | xargs echo export`
else
eval `gpg-agent -s --enable-ssh-support --daemon`
fi
J'ai déjà ajouté ma clé ssh à gpg-agent, cependant lorsque je tente une autre session ssh, la commande se bloque.
J'ai découvert que si je tue gpg-agent et crée un nouveau shell de connexion, l'agent fonctionne comme il se doit (appelant pinentry-curses puis fonctionnant comme ssh-agent).
Cependant, si je crée un autre shell de connexion (en ouvrant, par exemple, un autre volet tmux) et que j'essaie de ssh, la commande se bloque et la fenêtre pinentry-curses est imprimée sur le contenu du shell de connexion qui a initialement lancé l'agent.
De plus, si j'ai fermé le shell qui a initialement lancé l'agent, pinentry-curses est appelé de toute façon et provoque une boucle infinie paralysante du processeur. (Bogue connu, voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936 .)
Essentiellement, j'aimerais savoir quoi changer dans ma configuration pour que l'agent GnuPG fonctionne aussi parfaitement que ssh-agent. Merci pour toute aide!