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.