Anmeldung am Raspberry Pi mit einem YubiKey
In einem meiner früheren Artikel habe ich bereits geschrieben, wie man relativ einfach eine Zwei-Faktor-Authentifizierung an einem Raspberry Pi mithilfe von "libpam-google-authenticator" einrichtet. 👉 Zwei-Faktor-Authentifizierung am Raspberry Pi einrichten
YubiKey Themenseite
Hier geht es zur 👉 YubiKey Themenseite, dort findest du noch mehr Beiträge rund um den YubiKey.
Nun kann man aber anstatt einer Smartphone-App auch einen Security-Token, wie einen YubiKey, verwenden. Für dieses Beispiel verwende ich einen YubiKey 5 Ci. Dazu verwende ich einen Raspberry Pi 2 Modell B mit Raspbian Buster.
Im ersten Schritt ist der YubiKey für den Anmeldevorgang vorzubereiten.
- Auf der YubiKey-Seite könnt ihr ganz einfach prüfen, ob euer YubiKey bereits konfiguriert wurde 👉 https://demo.yubico.com.
Ist der Key bereits erfolgreich konfiguriert, könnt ihr direkt zu 4. weiterspringen - Ladet euch das Personalisierungs-Tool 👉 YubiKey Personalization Tools für die YubiKeys herunter und installiert es auf eurem PC.
- Öffnet YubiKey Personalization Tools und klickt auf das Menü "OATH-HOTP". Ihr könnt auch über dieses Tool prüfen, ob beide Slots für OATH-HTOP bereits belegt sind.
- Nach erfolgreicher Konfiguration des YubiKey ist über die Seite 👉 https://upgrade.yubico.com/getapikey/ eine
- Client ID
- Secret Key
anzufordern. Notiert euch diese Informationen für die spätere Konfiguration eures Pis.
Bevor mit der Installation der benötigten Pakete und der erforderlichen Konfiguration begonnen wird, ist ein Update des Betriebssystems durchzuführen.
sudo aptitude update && sudo aptitude dist-upgrade
In den Repositories von Raspbian ist bereits das erforderliche Paket für die Authentifizierung mittels YubiKey vorhanden und kann ganz einfach installiert werden:
sudo aptitude install libpam-yubico
In der Datei authorized_yubikeys sind alle Benutzer mit samt der YubiKey-ID einzutragen, die sich am Pi anmelden dürfen. Ich verwende für dieses Beispiel den Standardbenutzer "pi". Für die Konfiguration benötigt ihr die ID des YubiKey, die sich ganz einfach herausfinden lässt.
- Öffnet einen Editor, wie z.B. Notepad++
- Schließt den YubiKey an euren Rechner an
- Stellt sicher, dass der Cursor im Editor platziert ust und drückt die Kontakte auf dem YubiKey
- Wartet bis die Zeichenfolge im Editor fertig geschrieben ist und zählt die ersten 12 Zeichen ab, den Rest könnt ihr löschen-
Öffnet die Datei authorized_yubikeys
sudo nano /etc/ssh/authorized_yubikeys
Tragt dort die Benutzer im folgenden Format ein "benutzername:YubiKey-ID" pi:xxxxxxxxxxxx
Öffnet dann die Datei sshd
sudo nano /etc/pam.d/sshd
Tragt dort die Zeilen direkt unterhalb der Überschrift ein:
# Für YubiKey
# v v v v v v
auth required pam_yubico.so id=client key=secret authfile=/etc/ssh/authorized_yubikeys
# ^ ^ ^ ^ ^ ^
# Für YubiKey
# Standard Un*x authentication.
@include common-auth
Die folgenden beiden Werte sind durch die Werte zu ersetzen, die ihr von der YubiKey-Seite erhalten habt:
- Client ID = client
- Secret Key = secret
Nun ist noch die Datei sshd_config anzupassen.
sudo nano /etc/ssh/sshd_config
In der Datei sind die beiden Einträge wie folgt anzupassen:
ChallengeResponseAuthentication yes
UsePAM yes
Speichert die Datei und startet den SSH-Dienst neu.
sudo systemctl restart sshd
Nun könnt ihr euch am Raspberry Pi mit eurem YubiKey anmelden.
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❗️