Best Practices für SSH-, tmux- und GnuPG-Agenten

12

Ich versuche, meine Verschlüsselungssoftware auf GnuPG zu konsolidieren, und stoße auf ein verwirrendes Problem.

Meine Haupteinheit ist ein Headless-Server, und ich arbeite ausschließlich in tmux. Es gibt keine X-Sitzung und deshalb habe ich gpg-agent so konfiguriert, dass es Pinentry-Curses verwendet. Ich habe gpg-agent so konfiguriert, dass es beim Anmelden mit der ssh-agent-Emulation mit folgendem Skript aufgerufen wird:

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

Ich habe meinen SSH-Schlüssel bereits zu gpg-agent hinzugefügt. Wenn ich jedoch eine andere SSH-Sitzung versuche, bleibt der Befehl hängen.

Ich habe festgestellt, dass, wenn ich gpg-agent töte und eine neue Login-Shell erstelle, der Agent so funktioniert, wie er sollte (Aufrufen von Pinentry-Curses funktioniert dann wie ssh-agent).

Wenn ich jedoch eine andere Anmeldeshell erstelle (indem ich beispielsweise ein anderes tmux-Fenster öffne) und versuche, ssh auszuführen, bleibt der Befehl hängen, und das Fenster "PIN-Cursy" wird über den Inhalt der Anmeldeshell gedruckt, mit der der Agent ursprünglich gestartet wurde.

Wenn ich die Shell geschlossen habe, die den Agenten ursprünglich gestartet hat, wird Pinentry-Curses trotzdem aufgerufen und verursacht eine die CPU lähmende Endlosschleife. (Bekannter Fehler, siehe http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936 .)

Im Wesentlichen möchte ich wissen, was ich an meinem Setup ändern muss, damit der GnuPG-Agent so nahtlos wie der ssh-Agent funktioniert. Danke für jede Hilfe!

Tammer Ibrahim
quelle

Antworten:

4

Es stellte sich heraus, dass dies unglaublich einfach war. Anstatt dieses Skript zu verwenden, habe ich einfach die Option "--agents" aus meinem alten Schlüsselbund-Startskript entfernt (Anleitung hier ).

Dadurch sucht das Schlüsselbundprogramm nach ssh-agent- UND gpg-agent-Dateien. Jetzt funktioniert mein Verschlüsselungssystem reibungslos, auch wenn ich mich auf beide Arten von Agenten verlasse.

Tammer Ibrahim
quelle