Zum Inhalt

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

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.

  1. 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
  2. Ladet euch das Personalisierungs-Tool 👉 YubiKey Personalization Tools für die YubiKeys herunter und installiert es auf eurem PC.
  3. Ö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.

YubiKey OATH-HOTP

YubiKey OATH-HOTP

  1. 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.

  1. Öffnet einen Editor, wie z.B. Notepad++
  2. Schließt den YubiKey an euren Rechner an
  3. Stellt sicher, dass der Cursor im Editor platziert ust und drückt die Kontakte auf dem YubiKey
  4. 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.

SSH Anmeldung mit YubiKey

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj