Die Verwendung eines YubiKeys zur Anmeldung per SSH an einem Remote Server funktioniert bei mir mit Gnome mit gnome-keyring-ssh
ohne Probleme.
Der PGP-Schlüssel auf dem Hardwaretoken wird dabei als privater Schlüssel verwendet und erst nach Eingabe des PINs freigegeben.
Die notwendigen Pakete
sudo apt install gnupg gnupg-agent pcscd scdaemon
Der Pfad wird definiert
export SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
Und dann noch alles über ein Skript festgeschrieben
#! #!/bin/sh echo "Create required directories" mkdir ~/.config/autostart mkdir ~/.config/environment.d echo "==> Disable Gnome-Keyring ssh component" cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart echo "Hidden=true" >> ~/.config/autostart/gnome-keyring-ssh.desktop echo "==> Point ssh agent socket environment variable to GnuPG" cat > ~/.config/environment.d/99-gpg-agent_ssh.conf <<'EOF' SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh EOF echo "==> Done" echo echo "Logout and after login GnuPG will be your ssh-agent" echo
Und dann funktioniert die SSH-Anmeldung mit dem YubiKey an einem entfernten Rechner.
Nun habe ich das Ganze mit einem Kubuntu versucht und komme leider nicht weiter.
Es kommt immer die Meldung Permission denied (publickey).
, d.h. der YubiKey steht für SSH nicht zur Verfügung.
Mein Vorgehen:
Die gleichen Pakete installiert wie oben angegeben.
YubiKey erkennen und die Informationen auslesen mit
gpg --card-status
–> funktioniert!Drei Skripte anlegen, wie hier beschrieben. https://dev.to/manekenpix/kde-plasma-ssh-keys-111e, wobei das Skript
~/.config/autostart
nicht stimmt, weil der SSH-Key ja auf dem YubiKey abgespeichert ist und nicht in einer Datei vorliegt.System neustarten
Anmeldung mit SSH (
ssh benutzer@ip-adresse
) funktioniert nicht, es wird die MeldungPermission denied (publickey).
ausgegeben.ssh-add -l
ergibtThe agent has no identities.
Führe ich aber den Befehl direkt in der Konsole aus, dann funktioniert die Anmeldung
1 | export SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh |
und prüfe dann
ssh-add -l
ergibt
4096 SHA256:xxxxxxxxxxxyyyyyyyyyyyyyyyyy cardno:xxxxxxxxxxx (RSA)
Hat irgendwer eine Idee wie die Konfiguration anzupassen ist?