YubiKey 11 – Windows System anpassen zur Anmeldung mit einem YubiKey an einem Linux-Server

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. Die gespeicherten Keys auf dem YubiKey, insbesondere der Schlüssel der für die Authentifizierung, können auch für die SSH-Anmeldung verwendet werden.

Die Voraussetzungen sind

  • der YubiKey muss dazu am Client, Windows, Linux oder Mac, 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-Authentifizeirungsschlü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.
Nach dem nun 10. Beitrag der YubiKey-Serie ist mittlerweile ein Schlüsselpaar vorhanden, ein YubiKey konfiguriert und der Linux-Server so eingestellt, dass man sich nur noch mit einem Hardwaretoken per SSH anmelden kann.

Jetzt fehlt noch die Konfiguration, dass der SSH-Zugriff von einem Windows-System (= Client) aus auf den entfernten Server funktioniert.

Ein paar Einstellungen sind erforderlich, da Windows die Anmeldung mit PuTTY ein wenig anders handhabt als Linux.

Windows – PuTTY mit YubiKey verbinden

Zuerst werden ein paar Zusatzprogramme benötigt, damit ihr euch mit dem YubiKey per SSH an Servern anmelden könnt.

Benötigte Software

Bei der Installation von „gpg4win“ werden nicht alle Komponenten benötigt.
Achtet darauf, dass nur die folgenden drei installiert werden

  1. Kleopatra
  2. GpgOL
  3. GpgEX

Nach der Installation könt ihr die Eingabeaufforderung öffnen und wie bei Ubuntu die Version abfragen.

gpg --version

Windows GPG-Version abfragen
Windows GPG-Version abfragen

Wichtig ist dabei der Installationspfad. (siehe Markierung im Screenshot)

Aufmerksame Leser meines Blogs kennen Git bereits. Ich habe es schon beschrieben
Schritt 1: Git installieren unter Ubuntu und Windows

In der Datei ist eine Zeile zu ergänzen.

C:\Users\benutzername\.gnupg

Yubico - YubiKey 5C NFC - Two Factor Authentication USB...
Yubico Y-291 Yubikey 5Ci Schwarz

In diesem Verzeichnis findet ihr die Datei „gpg-agent.conf

Dort tragt ihr die Zeile im Abschnitt „###+++— GPGConf —+++###“ ein.


  enable-putty-support

gpg-agent.conf
gpg-agent.conf

Anschließend startet ihr den pgp-Daemon neu.

  C:\gpg-connect-agent killagent /bye
  C:\>gpg-connect-agent /bye

Nun ist noch eine Verknüpfung zwischen Git Bash und PGP 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

Kontextmenü - Git Bash
Kontextmenü – Git Bash

Beim Starten ohne „eval“ wird einiges besser ausgegeben.

$ /usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME"
SSH_AUTH_SOCK='/tmp/.ssh-pageant-mosig_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 der 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}')

.bashrc
.bashrc

Die Anmeldung mit dem YubiKey von einem Windows-System funktioniert nur, wenn „Kleopatra“ gestartet wurde. 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.

Kleopatra - Einstellungen
Kleopatra – Einstellungen
Zugriff auf Git ausschließlich mit YubiKey
Zugriff auf Git ausschließlich mit YubiKey

Damit kann auch unter Windows der YubiKey verwendet werden und eine Anmeldung via PuTTY am Linux-Server erfolgen.

Anzeige/Werbung

(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.