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

Nach dem 10 Beitrag der Serie ist mittlerweile ein Schlüsselpaar vorhanden, ein YubiKey konfiguriert und der Linux-Server so eingestellt, dass man sich nur noch mit einem YubiKey dort per SSH anmelden kann.

Jetzt fehlt noch die Konfiguration, dass der Zugriff auch von einem Windows-System aus funktioniert.

Ein paar Einstellungen sind erforderlich, da Windows das Ganze 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...
Angebot Yubico YubiKey 5Ci - Two Factor Authentication...

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 Verkü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.