Kurze Antwort :
Als root ausführen:
$ echo enable-ssh-support >> ~/.gnupg/gpg-agent.conf # editor /etc/X11/Xsession.options ... comment out "use-ssh-agent" ... # aptitude purge libpam-gnome-keyring
Melden Sie sich von Ihrer Desktopsitzung ab, und melden Sie sich erneut an. Stellen Sie sicher, dass $ SSH_AUTH_SOCK auf Ihren GPG-Agenten zeigt.
Erklärung:
Standardmäßig aktiviert der gpg-agent seinen SSH-Agenten nicht. Dies geschieht entweder durch Übergabe --enable-ssh-support
der Befehlszeile oder durch Hinzufügen einer Zeile zu einer Konfigurationsdatei wie oben.
Zweitens das Problem anderer SSH-Agenten. Der OpenSSH-Agent wird standardmäßig /etc/X11/Xsession.d/90x11-common_ssh-agent
gestartet, indem er vom x11-common-Paket aus eingerichtet wird. Wenn Sie GNOME ausführen, wird auch der GNOME Keyring-Agent ausgeführt. Beides wirkt sich auf unseren GnuPG-Agenten aus.
Das Deaktivieren des OpenSSH-Agenten erfolgt /etc/X11/Xsession.options
wie oben beschrieben.
Das Deaktivieren des GNOME Keyring-Agenten ist möglicherweise etwas komplizierter. Mit Xfce kann das Paket libpam-gnome-keyring deinstalliert werden, und es kann sichergestellt werden, dass Xfce keine GNOME-Dienste startet ( Einstellungen → Sitzung und Start → Erweitert → GNOME-Dienste beim Start starten - wenn angekreuzt).
Fehlerbehebung
Wenn SSH_AUTH_SOCK nach all dem immer noch nicht auf Ihren gpg-Agenten zeigt, kann es sein, dass ein anderer Agent noch Ihren GnuPG-Agenten stört. Die Variable SSH_AGENT_PID sollte die PID des Agentenprozesses enthalten, wodurch der Agent identifiziert werden kann.