Openssh und CryptoStick

Hi,

ich habe den Cryptostick 1.2 erfolgreich unter ubuntu 10.10 installiert und einen key generiert.
ich will nun den Cryptostick für openssh benutzen.

ich habe mich an die folgende Anleitung gehalten:
programmierecke.net/howto/gpg-ssh.html

[code]$ ps aux | grep gpg-agent
janning 1723 0.0 0.0 22660 1140 ? Ss 20:55 0:00 /usr/bin/gpg-agent --daemon --sh --write-env-file=/home/janning/.gnupg/gpg-agent-info-thinkpad /usr/bin/dbus-launch --exit-with-session gnome-session

$ set | grep SSH
SSH_AGENT_PID=1723
SSH_AUTH_SOCK=/tmp/keyring-A3Cifh/ssh
[/code]

Das sieht also alles gut aus soweit.

Wenn ich aber ssh-add -l ausführe, sehe ich meinen Key nicht.
Wie importiere ich den Key von der Smartcard in den agent?

ich habe es versucht mit

gpg --card-edit Befehl> fetch gpg: Schlüssel F0798DB9 von hkp Server keys.gnupg.net anfordern gpgkeys: key F3C192EA949439BC818C6535940770D7F0798DB9 not found on keyserver gpg: Keine gültigen OpenPGP-Daten gefunden. gpg: Anzahl insgesamt bearbeiteter Schlüssel: 0

Ich habe es auch mit dieser Anleitung versucht:
blogs.fsfe.org/greve/?p=64

aber auch ohne Erfolg.
Ich verstehe es doch richtig, dass alle weiteren Schritte erst Sinn machen, wenn ich den Key sehe, wenn ich
ssh-add -l ausführe, oder?

Kann mir jemand helfen, wie ich weiter kommen kann?

Würde ich auch gern nutzen, aber bisher nur erfolglos rumprobiert.

Hallo,

zunächst einmal: fetch lädt einen Schlüssel von einem Schlüsselserver -
das führt an der Stelle nicht weiter.

Ich benutze Ubuntu 10.10 rebellisches Erdmännchen und "ssh-add -l"
zeigt bei funktionierendem Kryptostick auch keinen Schlüssel an.

Aber: ‘ps aux | grep agent’ zeigte mir folgendes

xx        8665  0.0  0.0  11988   300 ?        Ss   17:44   0:00 
/usr/bin/ssh-agent /usr/bin/gpg-agent --daemon --sh --write-env-file=/home/ds/.gnupg/gpg-agent-info-fractalworld-ub /usr/bin/dbus-launch --exit-with-session /usr/bin/startkde
xx        8666  0.0  0.0  19432   420 ?        Ss   17:44   0:00 
/usr/bin/gpg-agent --daemon --sh --write-env-file=/home/ds/.gnupg/gpg-agent-info-fractalworld-ub /usr/bin/dbus-launch --exit-with-session /usr/bin/startkde

und damit laufen sowohl ssh-agent als auch gpg-agent, und das sollte nicht so sein.

Also habe ich
[ul]
] ssh-agent deaktiviert durch kommentieren aller Zeilen in /etc/X11/Xsession.d/90x11-common_ssh-agent/:m]
] überprüft, daß meine ~/.gnupg/gpg.conf den Eintrag use-agent aktiviert hat/:m]
] den parameter --enable-ssh-support in die drittletzte Zeile von /etc/X11/Xsession.d/90gpg-agent hinzugefügt/:m]
] Dies zu meinem .bash_profile hinzugefügt:/:m][/ul]

if  -f "${HOME}/.gnupg/gpg-agent-info-$(hostname)" ]; then
  . "${HOME}/.gnupg/gpg-agent-info-$(hostname)"
  export GPG_AGENT_INFO
  export SSH_AUTH_SOCK
  export SSH_AGENT_PID
fi
export GPG_TTY=$(tty)

Jetzt zeigt ssh-add -l folgendes an

2048 a9:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:71 cardno:000500XXXXXX (RSA)

Den öffentlichen Schlüssel habe ich via ssh-add -L >ssh-key.out
extrahiert und in die Datei ~/.ssh/authorized_keys des Zielrechners kopiert.

Beim Verbinden mit dem Zielrechner fragt ssh nun nach einer Pin und das Anmelden funktioniert
wie gewünscht.

P.S. Da ich KDE nutze, habe ich noch das Paket ksshaskpass installiert.

Hallo Deteros,

ich hab deine Anleitung befolgt, aber bei mir taucht die Datei /etc/X11/Xsession.d/90gpg-agent nicht auf.
gpg-agent ist installiert und läuft auch. Ich hab das auf Ubuntu 10.04 LTS getestet. Ne Idee?

Gruß

Benutzt du KDE? Die genannten Skripte kommen wohl nur unter KDE zum Einsatz.
Benutzt du gpg2? Läuft der ssh-agent? Was liefert das Kommando ‘ps aux | grep agent’?

[quote=“Deteros”]Benutzt du KDE? Die genannten Skripte kommen wohl nur unter KDE zum Einsatz.
Benutzt du gpg2? Läuft der ssh-agent? Was liefert das Kommando ‘ps aux | grep agent’?[/quote]

Ich benutze Gnome. Das Skript für den ssh-agent ist ja da. Ich benutz auch gpg2. Nein der läuft nicht. Das Kommando sagt das nur der gpg-agent läuft.

Gut. Und enthält die Kommandozeile von gpg-agent den Parameter --enable-ssh-support? Bitte mal die Ausgabe von ‘ps aux | grep agent’ veröffentlichen.
Ich nehme an, daß du .bash_profile wie beschrieben geändert hast. Welche Werte haben die Variablen GPG_AGENT_INFO, SSH_AUTH_SOCK, SSH_AGENT_PID?

Für Benutzer von Ubuntu 10.10:

bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/654521

das hat zumindest bei mir geholfen.

Ich hatte gestern von 10.04 LTS ein Upgrade auf 10.10 maverick durchgeführt und hatte das gleiche Problem.

Ralle

[quote=“Deteros”]Gut. Und enthält die Kommandozeile von gpg-agent den Parameter --enable-ssh-support? Bitte mal die Ausgabe von ‘ps aux | grep agent’ veröffentlichen.
Ich nehme an, daß du .bash_profile wie beschrieben geändert hast. Welche Werte haben die Variablen GPG_AGENT_INFO, SSH_AUTH_SOCK, SSH_AGENT_PID?[/quote]

Wenn ich gpg-agent starten möchte erhalte ich folgendes:

gpg-agent[12276]: can't connect to `/tmp/gpg-s1T1IF/S.gpg-agent': No such file or directory gpg-agent[12276]: can't connect to `%HOME/.gnupg/S.gpg-agent': No such file or directory gpg-agent: can't connect to the agent: IPC "connect" Aufruf fehlgeschlagen

Danke, Kenny, die Lösung für mein Problem von bugs.launchpad.net/ubuntu/+sour … bug/654521