first
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
---
|
||||
title: "YubiKey-Einrichtung unter Manjaro Sway"
|
||||
date: "2026-09-08"
|
||||
---
|
||||
|
||||
# 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:
|
||||
1. **FIDO2/U2F:** Für die Zwei-Faktor-Authentifizierung auf Webseiten.
|
||||
2. **GPG:** Zur Verschlüsselung von E-Mails/Dateien und zum Signieren von Git-Commits.
|
||||
3. **SSH:** Zur sicheren Anmeldung auf Servern.
|
||||
4. **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:
|
||||
|
||||
```bash
|
||||
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 (obwohl `yubikey-manager` oft 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:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
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`.
|
||||
|
||||
1. **Voraussetzung:** Ein unterstützter Webbrowser (Firefox, Chrome, Brave, Edge, etc.).
|
||||
2. **Registrierung:** Gehen Sie zu einer Webseite, die WebAuthn oder FIDO2 unterstützt (z.B. GitHub, Google, GitLab). Navigieren Sie zu den Sicherheitseinstellungen der Webseite.
|
||||
3. **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.
|
||||
|
||||
1. **GPG-Status prüfen:** Stecken Sie den YubiKey ein und führen Sie aus:
|
||||
```bash
|
||||
gpg --card-status
|
||||
```
|
||||
Wenn GPG den YubiKey als "Card" erkennt, sind Sie bereit für die weitere Konfiguration.
|
||||
|
||||
2. **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](https://developers.yubico.com/PGP/)
|
||||
(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.
|
||||
1. Fügen Sie `enable-ssh-support` zu Ihrer `~/.gnupg/gpg-agent.conf` hinzu.
|
||||
2. 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](https://wiki.archlinux.org/title/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.
|
||||
|
||||
1. **Schlüssel generieren:**
|
||||
```bash
|
||||
ssh-keygen -t ed25519-sk -C "mein-yubikey-ssh-schluessel"
|
||||
```
|
||||
`ssh-keygen` wird Sie auffordern, Ihren YubiKey zu berühren, um den Schlüssel zu erstellen.
|
||||
|
||||
2. **Ö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`).
|
||||
|
||||
1. **PAM-Modul installieren:**
|
||||
```bash
|
||||
sudo pacman -S pam-u2f
|
||||
```
|
||||
|
||||
2. **Konfigurationsdatei für den YubiKey erstellen:**
|
||||
Diese Datei ordnet Ihren YubiKey Ihrem Benutzerkonto zu.
|
||||
```bash
|
||||
mkdir -p ~/.config/Yubico
|
||||
pamu2fcfg > ~/.config/Yubico/u2f_keys
|
||||
```
|
||||
**Wichtig:** Stecken Sie Ihren YubiKey ein und berühren Sie ihn, wenn die LED während der Ausführung von `pamu2fcfg` blinkt.
|
||||
|
||||
3. **PAM-Datei bearbeiten (Beispiel für `sudo`):**
|
||||
Öffnen Sie die `sudo`-PAM-Konfiguration zum Bearbeiten:
|
||||
```bash
|
||||
sudo nano /etc/pam.d/sudo
|
||||
```
|
||||
Fü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_BENUTZER` durch 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 Sie `required` verwenden, MUSS der YubiKey funktionieren.
|
||||
|
||||
4. **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, ob `sudo` funktioniert. 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.
|
||||
Reference in New Issue
Block a user