Meilleures pratiques pour SSH, tmux et GnuPG Agent


12

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!

Réponses:


4

Il s'avère que celui-ci était incroyablement simple. Au lieu d'utiliser ce script, j'ai simplement supprimé l'option "--agents" de mon ancien script de lancement de trousseau (guide ici ).

Cela provoque le programme Keychain à rechercher à la fois les fichiers ssh-agent ET gpg-agent. Désormais, mon système de chiffrement fonctionne de manière parfaitement transparente, même en s'appuyant sur les deux types d'agents.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.