YubiKey-Einrichtung unter Manjaro Sway
Inhaltsverzeichnis
YubiKey-Einrichtung unter Manjaro Sway
Diese Anleitung beschreibt, wie Sie einen YubiKey unter Manjaro Sway für verschiedene Anwendungsfälle konfigurieren.
Übersicht der Anwendungsfälle:
- FIDO2/U2F: Für die Zwei-Faktor-Authentifizierung auf Webseiten.
- GPG: Zur Verschlüsselung von E-Mails/Dateien und zum Signieren von Git-Commits.
- SSH: Zur sicheren Anmeldung auf Servern.
- PAM: Zur Anmeldung am System oder für
sudo(fortgeschritten und mit Vorsicht zu genießen).
Schritt 1: Notwendige Pakete installieren
Zuerst müssen Sie die erforderlichen Pakete über den Paketmanager pacman installieren. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
sudo pacman -S yubikey-manager yubikey-personalization libfido2 gnupg pcsclite ccid
Erklärung der Pakete:
yubikey-manager: Das wichtigste Werkzeug zur Konfiguration Ihres YubiKeys.yubikey-personalization: Für ältere YubiKey-Modelle oder spezielle Konfigurationen (obwohlyubikey-manageroft bevorzugt wird).libfido2: Stellt die FIDO2-Unterstützung für WebAuthn in Browsern sicher.gnupg: Das GnuPG-Programm, notwendig für die Smartcard-Funktionen des YubiKeys.pcsclite&ccid: Systemdienste, die die Kommunikation mit dem YubiKey als Smartcard ermöglichen.
Nach der Installation ist es eine gute Idee, den pcscd-Dienst zu aktivieren und zu starten:
sudo systemctl enable pcscd.service
sudo systemctl start pcscd.service
Schritt 2: YubiKey erkennen und Status prüfen
Stecken Sie Ihren YubiKey ein und überprüfen Sie, ob das System ihn erkennt:
ykman info
Wenn alles korrekt ist, sollten Sie hier Informationen zu Ihrem YubiKey-Modell und dessen Firmware-Version sehen.
Anwendungsfälle:
Anwendungsfall A: Web-Authentifizierung (FIDO2/U2F)
Dies ist der einfachste Fall und erfordert in der Regel keine zusätzliche Konfiguration nach der Installation von libfido2.
- Voraussetzung: Ein unterstützter Webbrowser (Firefox, Chrome, Brave, Edge, etc.).
- Registrierung: Gehen Sie zu einer Webseite, die WebAuthn oder FIDO2 unterstützt (z.B. GitHub, Google, GitLab). Navigieren Sie zu den Sicherheitseinstellungen der Webseite.
- YubiKey hinzufügen: Registrieren Sie Ihren YubiKey als neuen Sicherheitsschlüssel. Der Browser sollte Sie auffordern, den YubiKey zu berühren.
Das war’s schon! Sie können den YubiKey nun für die Zwei-Faktor-Authentifizierung (2FA) auf diesen Seiten verwenden.
Anwendungsfall B: GPG für Verschlüsselung und Signaturen
Sie können den YubiKey als Hardware-Speicher für Ihre GPG-Schlüssel verwenden. Das ist sehr sicher, da die privaten Schlüssel den YubiKey niemals verlassen.
-
GPG-Status prüfen: Stecken Sie den YubiKey ein und führen Sie aus:
gpg --card-statusWenn GPG den YubiKey als “Card” erkennt, sind Sie bereit für die weitere Konfiguration.
-
Schlüssel generieren oder importieren: Der Prozess, GPG-Schlüssel zu erstellen und auf den YubiKey zu übertragen, ist sehr umfangreich und sollte sorgfältig durchgeführt werden. Die offizielle Anleitung von Yubico ist hierfür die beste Quelle: Yubico Docs: Using Your YubiKey with GPG (Stellen Sie sicher, dass Sie eine aktuelle Anleitung verwenden, die zu Ihrer YubiKey-Firmware passt.)
Anwendungsfall C: SSH-Authentifizierung
Sie können den YubiKey auch für die SSH-Authentifizierung verwenden, um sich sicher auf Servern anzumelden.
Möglichkeit 1: SSH-Authentifizierung über GPG Wenn Sie bereits GPG (Anwendungsfall B) eingerichtet haben, können Sie den Authentifizierungs-Unterschlüssel Ihres GPG-Schlüssels für SSH verwenden.
- Fügen Sie
enable-ssh-supportzu Ihrer~/.gnupg/gpg-agent.confhinzu. - Folgen Sie einer Anleitung, um den GPG-Agent als SSH-Agent zu konfigurieren, z.B. für Arch Linux (Manjaro basiert darauf): ArchWiki: GnuPG - SSH agent
Möglichkeit 2: Direkte FIDO-basierte SSH-Schlüssel (neuere YubiKeys)
Neuere YubiKeys (ab Firmware 5.2.7) können direkt als FIDO-Gerät für SSH-Schlüssel vom Typ ecdsa-sk oder ed25519-sk verwendet werden. Dies erfordert OpenSSH ab Version 8.2.
-
Schlüssel generieren:
ssh-keygen -t ed25519-sk -C "mein-yubikey-ssh-schluessel"ssh-keygenwird Sie auffordern, Ihren YubiKey zu berühren, um den Schlüssel zu erstellen. -
Öffentlichen Schlüssel verwenden: Den generierten öffentlichen Schlüssel (z.B.
~/.ssh/id_ed25519_sk.pub) können Sie wie gewohnt auf Ihre Server in die~/.ssh/authorized_keys-Datei kopieren. Bei der SSH-Anmeldung wird Ihre SSH-Anwendung Sie dann auffordern, den YubiKey zu berühren.
Anwendungsfall D: System-Login und Sudo (PAM) - Für Fortgeschrittene und mit äußerster Vorsicht!
Sie können den YubiKey auch verwenden, um sich am System anzumelden oder sudo-Befehle zu autorisieren. Eine Fehlkonfiguration hier kann Sie von Ihrem System ausschließen.
⚠️ WARNUNG:
- Lassen Sie IMMER ein zweites Terminal mit einer aktiven Root-Shell (
sudo -i) offen, während Sie die PAM-Konfiguration ändern. So können Sie Fehler sofort korrigieren. - Erstellen Sie vor Änderungen an PAM-Dateien immer Backups der Originaldateien (z.B.
sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak).
-
PAM-Modul installieren:
sudo pacman -S pam-u2f -
Konfigurationsdatei für den YubiKey erstellen: Diese Datei ordnet Ihren YubiKey Ihrem Benutzerkonto zu.
mkdir -p ~/.config/Yubico pamu2fcfg > ~/.config/Yubico/u2f_keysWichtig: Stecken Sie Ihren YubiKey ein und berühren Sie ihn, wenn die LED während der Ausführung von
pamu2fcfgblinkt. -
PAM-Datei bearbeiten (Beispiel für
sudo): Öffnen Sie diesudo-PAM-Konfiguration zum Bearbeiten:sudo nano /etc/pam.d/sudoFügen Sie die folgende Zeile GANZ OBEN in die Datei ein:
auth sufficient pam_u2f.so authfile=/home/DEIN_BENUTZER/.config/Yubico/u2f_keys- Ersetzen Sie
DEIN_BENUTZERdurch Ihren tatsächlichen Linux-Benutzernamen (z.B.jonnybravo). auth sufficient: Bedeutet, dass eine erfolgreiche Authentifizierung mit dem YubiKey ausreicht. Wenn der YubiKey nicht eingesteckt ist oder die Authentifizierung fehlschlägt, wird die nächste Authentifizierungsmethode (normalerweise das Passwort) verwendet. Dies ist sicherer, um sich nicht auszusperren. Wenn Sierequiredverwenden, MUSS der YubiKey funktionieren.
- Ersetzen Sie
-
Testen: Öffnen Sie ein neues Terminal (NICHT das, in dem Ihre Root-Shell läuft) und testen Sie den
sudo-Befehl (z.B.sudo ls). Sie sollten aufgefordert werden, Ihren YubiKey zu berühren. Berühren Sie ihn und prüfen Sie, obsudofunktioniert. Funktioniert es nicht, nutzen Sie das Root-Terminal, um die Änderungen rückgängig zu machen.
Weitere PAM-Anwendungen:
Ähnliche Einträge können Sie auch für den Login-Manager (z.B. sddm, gdm, lightdm) oder den Screensaver (z.B. swaylock) in deren entsprechenden PAM-Dateien (/etc/pam.d/<dienstname>) hinzufügen. Das genaue Vorgehen kann je nach Dienst variieren.
Wichtige Hinweise:
- PINs und PUKs: Merken Sie sich die PINs und PUKs Ihres YubiKeys. Sie sind für viele Funktionen unerlässlich.
- Backups: Erstellen Sie immer Backups Ihrer GPG-Schlüssel, bevor Sie diese auf den YubiKey verschieben.
- Vorsicht bei PAM: PAM-Konfigurationen sind mächtig. Testen Sie Änderungen immer sorgfältig und haben Sie einen Notfallplan (z.B. eine Live-CD oder das offene Root-Terminal).
- Firmware: Stellen Sie sicher, dass die Firmware Ihres YubiKeys aktuell ist (
ykman firmware info). - Dokumentation: Die Yubico-Dokumentation ist exzellent und sollte bei spezifischen Problemen oder fortgeschrittenen Konfigurationen konsultiert werden.