Best Practices für SSH, tmux und GnuPG Agent

Best Practices für SSH, tmux und GnuPG Agent

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

Meine primäre Einheit 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 SSH-Agent-Emulation mit diesem 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 zum GPG-Agenten hinzugefügt, beim Versuch einer weiteren SSH-Sitzung bleibt der Befehl jedoch hängen.

Ich habe festgestellt, dass der Agent wie vorgesehen funktioniert (er ruft pinentry-curses auf und funktioniert dann wie der SSH-Agent), wenn ich den GPG-Agent beende und eine neue Anmelde-Shell erstelle.

Wenn ich jedoch eine andere Anmelde-Shell erstelle (zum Beispiel indem ich ein anderes Tmux-Fenster öffne) und versuche, eine SSH-Verbindung herzustellen, bleibt der Befehl hängen und das Pinentry-Curses-Fenster wird über dem Inhalt der Anmelde-Shell gedruckt, die den Agenten ursprünglich gestartet hat.

Wenn ich die Shell geschlossen habe, die den Agenten ursprünglich gestartet hat, wird pinentry-curses trotzdem aufgerufen und verursacht eine CPU-belastende Endlosschleife. (Bekannter Fehler, siehehttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936.)

Im Wesentlichen würde ich gerne wissen, was ich an meinem Setup ändern muss, damit der GnuPG-Agent genauso reibungslos funktioniert wie der SSH-Agent. Vielen Dank für jede Hilfe!

Antwort1

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 (AnleitungHier).

Dies führt dazu, dass das Keychain-Programm sowohl nach SSH-Agent- als auch nach GPG-Agent-Dateien sucht. Jetzt funktioniert mein Verschlüsselungssystem ziemlich reibungslos, auch wenn es auf beide Agententypen angewiesen ist.

verwandte Informationen