YubiKey als Login unter Linux Mint, Ubuntu und Debian einrichten
Der YubiKey ist eine der sichersten Methoden, um den Zugriff auf dein Linux-System zu schützen. Statt nur ein Passwort einzugeben, könnt ihr euren YubiKey als Zweitfaktor oder sogar als einzige Login-Methode nutzen. In diesem Artikel erkläre ich, wie ihr das unter Linux Mint, Ubuntu, Debian und Kubuntu einrichten könnt.

Voraussetzungen
Bevor wir starten, stellt sicher, dass dein System folgende Anforderungen erfüllt:
- Ein YubiKey (z. B. YubiKey 5, YubiKey 5C, Security Key, o. Ä.)
- Ein aktuelles Linux-System (Ubuntu, Debian, Linux Mint oder Kubuntu)
- Administrationsrechte (sudo)
YubiKey-Software installieren
Um den YubiKey in das System zu integrieren, müssen einige Pakete installiert werden.
Ubuntu, Debian, Linux Mint, Kubuntu
Öffnet ein Terminal und installiert die benötigten Pakete:
sudo apt update && sudo apt install libpam-yubico libpam-u2f yubikey-personalization
Diese Pakete enthalten:
libpam-yubico
: Für Yubico OTP (One-Time-Password)libpam-u2f
: Für Universal 2nd Factor (U2F)yubikey-personalization
: Für die Konfiguration des YubiKeys
Nach der Installation könnt ihr den YubiKey für die Anmeldung konfigurieren.
YubiKey für die Anmeldung einrichten
Authentifizierungsdaten generieren
Setzt den YubiKey in einen USB-Port und erstellt das Konfigurationsverzeichnis:
sudo mkdir -p /etc/Yubico
sudo pamu2fcfg > /etc/Yubico/u2f_keys
Jetzt sollte das Gerät blinken, und ihr müsst die Kontaktfläche antippen um das hinzufügen zu bestätigen.
Es wird empfohlen mit einem Backup Yubikey zu arbeiten! Verliert, oder beschädigt ihr den Yubikey, ist ein Login nicht mehr ohne weiteres möglich. Um einen Backup Yubikey hinzuzufügen, steckt den zweiten Stick ein, und fügt diesen mit einem leicht angepassten Befehl hinzu:
sudo pamu2fcfg -n >> /etc/Yubico/u2f_keys
Mit diesem Befehl werden euer YubiKey-Schlüssel ausgelesen und in die Datei /etc/YubiKey/u2f_keys
geschrieben.
PAM (Pluggable Authentication Modules) konfigurieren
Login-Authentifizierung ändern
Öffnet die PAM-Konfigurationsdatei für den Login:
sudo nano /etc/pam.d/common-auth
Fügt folgende Zeile vor der Zeile auth requisite pam_deny.so
hinzu:
auth required pam_u2f.so authfile=/etc/YubiKey/u2f_keys cue
Speichert die Datei mit strg+o beenden mit strg+x, dann Y, dann Enter.

YubiKey als einzige Login-Methode nutzen (optional, nur für fortgeschrittene Nutzer)
Wenn ihr den YubiKey als einzige Authentifizierungsmethode nutzen wollt, entfernt die Passwort-Authentifizierung:
sudo nano /etc/pam.d/common-auth
Ändert die Zeilen je nach Betriebssystem:
auth required pam_unix.so
in
#auth required pam_unix.so
---------------------------
oder
---------------------------
auth [success=2 default=ignore] pam_unix.so nullok
auth [success=1 default=ignore] pam_sss.so use_first_pass
in
#auth [success=2 default=ignore] pam_unix.so nullok
#auth [success=1 default=ignore] pam_sss.so use_first_pass
Speichert die Datei mit strg+o beenden mit strg+x, dann Y, dann Enter.
Ein Login ist dann nur noch mit dem Yubikey möglich!
8. Fehlerbehebung
Falls etwas nicht funktioniert:
Prüft, ob der YubiKey korrekt erkannt wird:
lsusb | grep -i yubi
Prüft evt das PAM log für Fehler:
journalctl -xe | grep pam

Falls ihr euch nicht mehr einloggen könnt, boote im Recovery-Modus oder verwendet eine Live-CD, um /etc/pam.d/common-auth
auf der Systemplatte zu bearbeiten.
Fazit
Mit diesen Schritten habt ihr erfolgreich deinen YubiKey für den Login unter Linux Mint, Ubuntu, Debian und Kubuntu eingerichtet. Dies erhöht die Sicherheit eures Systems erheblich, besonders wenn ihr ihn mit sudo-Authentifizierung kombiniert. Diesem Thema widmen wir aber demnächst einen eigenen Beitrag!
Falls ihr noch Fragen habt oder Probleme auftreten, könnt ihr ein Kommentar hinterlassen, oder euch in den Yubico-Foren anmelden oder auf GitHub nach Lösungen umsehen.
Hi, danke für das Guide Mario!
Kurze Anmerkung für „Permission denied“-Error beim Anlegen der Keydatei:
Für das Nutzen von 2FA per-user ist das Erstellen des Verzeichnisses ~/etc/Yubico mit „sudo“ für den eigenen Benutzer nicht zielführend.
Da muss man nachträglich noch mit „chown -R [user]:[user] ~/etc“ drüber bügeln, damit der Prozess dort schreiben kann.