Frage bzgl. gpg-agent
Werner Koch
wk at gnupg.org
Di Mai 21 15:40:02 CEST 2019
Hallo Hanno!
On Mon, 20 May 2019 22:15, wagner at rince.de said:
> - Rechner A: Server mit Emails (Debian Linux)
> - Rechner B: Laptop der sich via ssh auf Rechner A einloggt (Kali Linux)
> - Smartcard in Form eines yubikey Neo.
Habe ich jahrelang auch so ähnlich gemacht. Ich habe dabei auf A "emacs
--daemon" laufen lassen und mich von B über ssh und emacsclient daran
bedient. Das mit dem emacsclient ist ganz praktisch aber man kann
natürlich jeden Client auf A per ssh starten. Crypto habe ich direkt
auf dem auf dem Server (eigentlich mein Desktop im Büro) gemacht;
ledigich das pinentry musste ich per updatestartuptty umbiegen. Aber
richtig; das geht dann nicht per smartcard.
> Beide Rechner haben in ~/.gnupg/ denselben Public- und Secret keyring
> liegen; die habe ich via scp kopiert.
Secret Keys brauchst Du auf dem Server (A) nicht und könnten eventuell
ein Problem sein - ich habe das aber nicht getestet.
> Ich möchte nun von Rechner B aus die Mails die auf Rechner A liegen
> entschlüsseln und anzeigen lassen (ssh, tmux und darin mutt).
> Ich habe mir dafür die Webseite https://wiki.gnupg.org/AgentForwarding
> angeschaut und auch ssh und den gpg-agent entsprechend konfiguriert,
> zumindest bin ich der Meinung.
Yep. Alles korrekt.
> Was mache ich da falsch? Wie kann ich debuggen was da funktioniert
> oder auch nicht? Kann ich rausfinden ob der auf Rechner A laufende gpg
$ gpg-connect-agent 'getinfo restricted' /bye
Auf dem Server sollte OK anzeigen - dann ist der Agent im restricted
mode und das forwarding aktiv. Mit
Wenn Du bei gpg aufrufen auf dem Server "--debug ipc" hinzufügts, sieht
Du die Kommunikation mit dem (remote) agent. Praktischer ist es aber
folgendes auf dem Cleint (laptop) zu machen:
$ echo >>./gnupg/gpg-agent.conf 'socket://'
$ echo >>./gnupg/gpg-agent.conf 'debug ipc'
$ echo >>./gnupg/gpg-agent.conf 'verbose'
$ gpgconf --reload gpg-agent
Dann in einem andere tty
$ watchgnupg --time-only --force $(gpgconf --list-dirs socketdir)/S.log
laufen zu lassen. Du solltest dann sehen was gpg-agent loged. Ist
einfacher als tail(1) und Die config Optionen auch in scdaemon und
dirmngr einbauen, womit DU das dann schön syncronisiert siehts.
> Wenn ich auf Rechner B ein "gpg --card-status" eingebe, zeigt er mir
> die Daten des Yubikey an, der sieht ihn also und kann ihn auslesen.
Sieht gut aus.
> Nur Rechner A scheint nicht mitzubekommen dass es eine Remote
> gpg-agent gibt der ihm helfen könnte...
Probier dort mal gpg-connect-agent oder aber
fortune | gpg -eavs MEINKEY --debug ipc
Welchen Socket hast Du auf dem Server geforwarded? Falls ein
/var/run/user/NNNN existiert wird der socket darunter erwartet und
nicht in ~/.gnupg/ (wg. NFS etc). Testen mit
gpgconf --list-dirs
und es sollte besser kein gpg-agent auf dem Server laufen.
Shalom-Salam,
Werner
--
Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 227 bytes
Beschreibung: nicht verfügbar
URL : <https://lists.gnupg.org/pipermail/gnupg-de/attachments/20190521/0dd75f65/attachment.sig>
Mehr Informationen über die Mailingliste Gnupg-de