Windows anpassen zur SSH-Anmeldung an einem Linux-System
Eine Anmeldung an einem entfernten Server mit SSH ist im Linux-Umfeld zur Administration keine große Sache und schnell eingerichtet. Als Besitzer eines YubiKeys kann man das alles noch ein wenig effizienter und eleganter lösen.
Der YubiKey mit OpenPGP Smart Card Funktion wird zu Authentifizierung verwendet. Dabei wird aus dem GPG-Schlüssel ein öffentliche SSH-Schlüssel erstellt, der auf den entfernten Server in der Datei ~/.ssh/authorized_keys
gespeichert wird.
Der YubiKey wird am Client angeschlossen und nach der Eingabe des PINs wird eine SSH-Verbindung zum Server hergestellt.
Das Besondere, einen privaten SSH-Schlüssel, der auf dem eigenen Client abgespeichert werden muss, gibt es nicht. Der private Schlüssel ist und bleibt auf dem YubiKey.
Ein Windows-System ist dafür noch anzupassen. Im Standard kann das Betriebssystem die Daten des YubiKeys nicht auslesen und für die Anmeldung verwenden.
Die Voraussetzungen sind
- der YubiKey muss dazu am Client angeschlossen sein
- der Client muss den GnuPG-Schlüssel in SSH übersetzen
- der Client muss die Erlaubnis haben sich mit dem Server zu verbinden
- der YubiKey-PIN muss beim Aufbau der SSH-Verbindung eingegeben werden
Der Vorteil ist ganz klar, der erforderliche SSH-Schlüssel wird NICHT auf dem Client gespeichert, sondern es wird der GnuPG-Authentifizierungsschlüssel genutzt, der sicher durch Passwort geschützt auf dem YubiKey verbleibt.
Das Ganze ist keine große Sache und auch relativ einfach umgesetzt und konfiguriert.
Windows - PuTTY mit YubiKey verbinden
Es werden die folgenden Tools benötigt:
- GPG4win - https://www.gpg4win.org/
- Git - https://git-scm.com/download/win
- PuTTY - https://www.putty.org/
Bei der Installation von gpg4win
werden nicht alle angebotenen Komponenten benötigt.
Die folgenden drei Tools sind jedoch zwingend zu installieren:
- Kleopatra
- GpgOL
- GpgEX
Nach der Installation könnt ihr die Eingabeaufforderung öffnen die GPG-Version abfragen.
gpg --version
Wichtig ist dabei der Installationspfad. (siehe Markierung im Screenshot)
Die Datei gpg-agent.conf
ist im Verzeichnis
C:\Users\destroy\GnuPG\
oder
C:\Users\benutzername\AppData\Roaming\
zu finden.
Ist die Datei noch nicht vorhanden, dann könnt ihr diese sehr einfach mit einem Editor anlegen.
Dort tragt ihr die Zeile im Abschnitt ###+++--- GPGConf ---+++###
ein.
enable-putty-support
Der gesamte Inhalt der Datei sieht dann in etwa so aus:
enable-putty-support
enable-ssh-support
use-standard-socket
default-cache-ttl 600
max-cache-ttl 7200
Anschließend startet ihr den gpg-Daemon neu.
C:\gpg-connect-agent killagent /bye
C:\>gpg-connect-agent /bye
Nun ist noch eine Verknüpfung zwischen Git Bash
und GPG
zu erstellen. Dazu öffnet ihr an beliebiger Stelle Git Bash
über das Kontextmenü.
$ eval $(/usr/bin/ssh-pageant -r -a "/tmp/ssh-pageant-$USERNAME")
ssh-pageant pid 16804
Beim Starten ohne eval
werden einige Informationen mehr ausgegeben.
$ /usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME"
SSH_AUTH_SOCK='/tmp/.ssh-pageant-user'; export SSH_AUTH_SOCK;
SSH_PAGEANT_PID=16804; export SSH_PAGEANT_PID;
echo ssh-pageant pid 16804
Anschließend muss noch ein Eintrag in der .bashrc
erfolgen, damit ssh-pageant
automatisch startet.
export LC_ALL="de_DE.UTF-8"
alias gp='git fetch -p && git pull'
alias gpgw='winpty /c/devtools/gnupg/bin/gpg'
alias gpg2='gpgw'
eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME")
export SSH_PAGEANT_PID=$(ps | grep $(which ssh-pageant) | head -n 1 | awk '{print $1}')
Die Anmeldung mit dem YubiKey von einem Windows-System aus funktioniert nur, wenn Kleopatra
gestartet wurde und im Hintergrund läuft.
Anschließend kann per Git Bash
oder PuTTY
eine SSH-Sitzung geöffnet werden. Es erscheint dann ein Eingabefeld für die PIN des YubiKeys.
Kontrolliert in den Einstellungen von Kleopatra, dass die Einstellungen korrekt gesetzt sind.
Damit kann auch unter Windows der YubiKey verwendet werden und eine Anmeldung via PuTTY am Linux-Server erfolgen.
YubiKey Themenseite
Hier geht es zur 👉 YubiKey Themenseite, dort findest du noch mehr Beiträge rund um den YubiKey.
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
Photo by Danielle Rice on Unsplash