189 lines
13 KiB
HTML
189 lines
13 KiB
HTML
<html lang="de">
|
||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>YubiKey-Einrichtung unter Manjaro Sway – Hugo Docker CMS</title>
|
||
<meta name="description" content="YubiKey-Einrichtung unter Manjaro Sway Diese Anleitung beschreibt, wie Sie einen YubiKey unter Manjaro Sway für verschiedene Anwendungsfälle konfigurieren. …">
|
||
|
||
|
||
<meta property="og:title" content="YubiKey-Einrichtung unter Manjaro Sway – Hugo Docker CMS">
|
||
<meta property="og:description" content="YubiKey-Einrichtung unter Manjaro Sway Diese Anleitung beschreibt, wie Sie einen YubiKey unter Manjaro Sway für verschiedene Anwendungsfälle konfigurieren. …">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://localhost:1313/yubikey_setup_guide/">
|
||
<meta property="og:site_name" content="Hugo Docker CMS">
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="/css/main.min.css">
|
||
|
||
|
||
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<a href="/" class="logo">Hugo Docker CMS</a>
|
||
|
||
<nav aria-label="Breadcrumb">
|
||
<a href="/">← Start</a>
|
||
</nav>
|
||
|
||
</header>
|
||
<main>
|
||
|
||
<article>
|
||
<header class="article-header">
|
||
<h1>YubiKey-Einrichtung unter Manjaro Sway</h1>
|
||
<time datetime="2026-09-08">08.09.2026</time>
|
||
|
||
</header>
|
||
|
||
<details class="toc" >
|
||
<summary>Inhaltsverzeichnis</summary>
|
||
<nav id="TableOfContents">
|
||
<ul>
|
||
<li>
|
||
<ul>
|
||
<li><a href="#übersicht-der-anwendungsfälle">Übersicht der Anwendungsfälle:</a></li>
|
||
<li><a href="#schritt-1-notwendige-pakete-installieren">Schritt 1: Notwendige Pakete installieren</a></li>
|
||
<li><a href="#schritt-2-yubikey-erkennen-und-status-prüfen">Schritt 2: YubiKey erkennen und Status prüfen</a></li>
|
||
<li><a href="#anwendungsfälle">Anwendungsfälle:</a></li>
|
||
<li><a href="#wichtige-hinweise">Wichtige Hinweise:</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</details>
|
||
|
||
<div class="content">
|
||
<h1 id="yubikey-einrichtung-unter-manjaro-sway">YubiKey-Einrichtung unter Manjaro Sway</h1>
|
||
<p>Diese Anleitung beschreibt, wie Sie einen YubiKey unter Manjaro Sway für verschiedene Anwendungsfälle konfigurieren.</p>
|
||
<hr>
|
||
<h3 id="übersicht-der-anwendungsfälle">Übersicht der Anwendungsfälle:</h3>
|
||
<ol>
|
||
<li><strong>FIDO2/U2F:</strong> Für die Zwei-Faktor-Authentifizierung auf Webseiten.</li>
|
||
<li><strong>GPG:</strong> Zur Verschlüsselung von E-Mails/Dateien und zum Signieren von Git-Commits.</li>
|
||
<li><strong>SSH:</strong> Zur sicheren Anmeldung auf Servern.</li>
|
||
<li><strong>PAM:</strong> Zur Anmeldung am System oder für <code>sudo</code> (fortgeschritten und mit Vorsicht zu genießen).</li>
|
||
</ol>
|
||
<hr>
|
||
<h3 id="schritt-1-notwendige-pakete-installieren">Schritt 1: Notwendige Pakete installieren</h3>
|
||
<p>Zuerst müssen Sie die erforderlichen Pakete über den Paketmanager <code>pacman</code> installieren. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo pacman -S yubikey-manager yubikey-personalization libfido2 gnupg pcsclite ccid
|
||
</span></span></code></pre></div><p><strong>Erklärung der Pakete:</strong></p>
|
||
<ul>
|
||
<li><code>yubikey-manager</code>: Das wichtigste Werkzeug zur Konfiguration Ihres YubiKeys.</li>
|
||
<li><code>yubikey-personalization</code>: Für ältere YubiKey-Modelle oder spezielle Konfigurationen (obwohl <code>yubikey-manager</code> oft bevorzugt wird).</li>
|
||
<li><code>libfido2</code>: Stellt die FIDO2-Unterstützung für WebAuthn in Browsern sicher.</li>
|
||
<li><code>gnupg</code>: Das GnuPG-Programm, notwendig für die Smartcard-Funktionen des YubiKeys.</li>
|
||
<li><code>pcsclite</code> & <code>ccid</code>: Systemdienste, die die Kommunikation mit dem YubiKey als Smartcard ermöglichen.</li>
|
||
</ul>
|
||
<p>Nach der Installation ist es eine gute Idee, den <code>pcscd</code>-Dienst zu aktivieren und zu starten:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo systemctl <span class="nb">enable</span> pcscd.service
|
||
</span></span><span class="line"><span class="cl">sudo systemctl start pcscd.service
|
||
</span></span></code></pre></div><h3 id="schritt-2-yubikey-erkennen-und-status-prüfen">Schritt 2: YubiKey erkennen und Status prüfen</h3>
|
||
<p>Stecken Sie Ihren YubiKey ein und überprüfen Sie, ob das System ihn erkennt:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ykman info
|
||
</span></span></code></pre></div><p>Wenn alles korrekt ist, sollten Sie hier Informationen zu Ihrem YubiKey-Modell und dessen Firmware-Version sehen.</p>
|
||
<hr>
|
||
<h3 id="anwendungsfälle">Anwendungsfälle:</h3>
|
||
<h4 id="anwendungsfall-a-web-authentifizierung-fido2u2f">Anwendungsfall A: Web-Authentifizierung (FIDO2/U2F)</h4>
|
||
<p>Dies ist der einfachste Fall und erfordert in der Regel keine zusätzliche Konfiguration nach der Installation von <code>libfido2</code>.</p>
|
||
<ol>
|
||
<li><strong>Voraussetzung:</strong> Ein unterstützter Webbrowser (Firefox, Chrome, Brave, Edge, etc.).</li>
|
||
<li><strong>Registrierung:</strong> Gehen Sie zu einer Webseite, die WebAuthn oder FIDO2 unterstützt (z.B. GitHub, Google, GitLab). Navigieren Sie zu den Sicherheitseinstellungen der Webseite.</li>
|
||
<li><strong>YubiKey hinzufügen:</strong> Registrieren Sie Ihren YubiKey als neuen Sicherheitsschlüssel. Der Browser sollte Sie auffordern, den YubiKey zu berühren.</li>
|
||
</ol>
|
||
<p>Das war’s schon! Sie können den YubiKey nun für die Zwei-Faktor-Authentifizierung (2FA) auf diesen Seiten verwenden.</p>
|
||
<h4 id="anwendungsfall-b-gpg-für-verschlüsselung-und-signaturen">Anwendungsfall B: GPG für Verschlüsselung und Signaturen</h4>
|
||
<p>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.</p>
|
||
<ol>
|
||
<li>
|
||
<p><strong>GPG-Status prüfen:</strong> Stecken Sie den YubiKey ein und führen Sie aus:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">gpg --card-status
|
||
</span></span></code></pre></div><p>Wenn GPG den YubiKey als “Card” erkennt, sind Sie bereit für die weitere Konfiguration.</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Schlüssel generieren oder importieren:</strong>
|
||
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:
|
||
<a href="https://developers.yubico.com/PGP/">Yubico Docs: Using Your YubiKey with GPG</a>
|
||
(Stellen Sie sicher, dass Sie eine aktuelle Anleitung verwenden, die zu Ihrer YubiKey-Firmware passt.)</p>
|
||
</li>
|
||
</ol>
|
||
<h4 id="anwendungsfall-c-ssh-authentifizierung">Anwendungsfall C: SSH-Authentifizierung</h4>
|
||
<p>Sie können den YubiKey auch für die SSH-Authentifizierung verwenden, um sich sicher auf Servern anzumelden.</p>
|
||
<p><strong>Möglichkeit 1: SSH-Authentifizierung über GPG</strong>
|
||
Wenn Sie bereits GPG (Anwendungsfall B) eingerichtet haben, können Sie den Authentifizierungs-Unterschlüssel Ihres GPG-Schlüssels für SSH verwenden.</p>
|
||
<ol>
|
||
<li>Fügen Sie <code>enable-ssh-support</code> zu Ihrer <code>~/.gnupg/gpg-agent.conf</code> hinzu.</li>
|
||
<li>Folgen Sie einer Anleitung, um den GPG-Agent als SSH-Agent zu konfigurieren, z.B. für Arch Linux (Manjaro basiert darauf):
|
||
<a href="https://wiki.archlinux.org/title/GnuPG#SSH_agent">ArchWiki: GnuPG - SSH agent</a></li>
|
||
</ol>
|
||
<p><strong>Möglichkeit 2: Direkte FIDO-basierte SSH-Schlüssel (neuere YubiKeys)</strong>
|
||
Neuere YubiKeys (ab Firmware 5.2.7) können direkt als FIDO-Gerät für SSH-Schlüssel vom Typ <code>ecdsa-sk</code> oder <code>ed25519-sk</code> verwendet werden. Dies erfordert OpenSSH ab Version 8.2.</p>
|
||
<ol>
|
||
<li>
|
||
<p><strong>Schlüssel generieren:</strong></p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ssh-keygen -t ed25519-sk -C <span class="s2">"mein-yubikey-ssh-schluessel"</span>
|
||
</span></span></code></pre></div><p><code>ssh-keygen</code> wird Sie auffordern, Ihren YubiKey zu berühren, um den Schlüssel zu erstellen.</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Öffentlichen Schlüssel verwenden:</strong>
|
||
Den generierten öffentlichen Schlüssel (z.B. <code>~/.ssh/id_ed25519_sk.pub</code>) können Sie wie gewohnt auf Ihre Server in die <code>~/.ssh/authorized_keys</code>-Datei kopieren. Bei der SSH-Anmeldung wird Ihre SSH-Anwendung Sie dann auffordern, den YubiKey zu berühren.</p>
|
||
</li>
|
||
</ol>
|
||
<h4 id="anwendungsfall-d-system-login-und-sudo-pam---für-fortgeschrittene-und-mit-äußerster-vorsicht">Anwendungsfall D: System-Login und Sudo (PAM) - <strong>Für Fortgeschrittene und mit äußerster Vorsicht!</strong></h4>
|
||
<p>Sie können den YubiKey auch verwenden, um sich am System anzumelden oder <code>sudo</code>-Befehle zu autorisieren. Eine Fehlkonfiguration hier kann Sie von Ihrem System ausschließen.</p>
|
||
<p><strong>⚠️ WARNUNG:</strong></p>
|
||
<ul>
|
||
<li><strong>Lassen Sie IMMER ein zweites Terminal mit einer aktiven Root-Shell (<code>sudo -i</code>) offen</strong>, während Sie die PAM-Konfiguration ändern. So können Sie Fehler sofort korrigieren.</li>
|
||
<li>Erstellen Sie vor Änderungen an PAM-Dateien <strong>immer Backups</strong> der Originaldateien (z.B. <code>sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak</code>).</li>
|
||
</ul>
|
||
<ol>
|
||
<li>
|
||
<p><strong>PAM-Modul installieren:</strong></p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo pacman -S pam-u2f
|
||
</span></span></code></pre></div></li>
|
||
<li>
|
||
<p><strong>Konfigurationsdatei für den YubiKey erstellen:</strong>
|
||
Diese Datei ordnet Ihren YubiKey Ihrem Benutzerkonto zu.</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">mkdir -p ~/.config/Yubico
|
||
</span></span><span class="line"><span class="cl">pamu2fcfg > ~/.config/Yubico/u2f_keys
|
||
</span></span></code></pre></div><p><strong>Wichtig:</strong> Stecken Sie Ihren YubiKey ein und berühren Sie ihn, wenn die LED während der Ausführung von <code>pamu2fcfg</code> blinkt.</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>PAM-Datei bearbeiten (Beispiel für <code>sudo</code>):</strong>
|
||
Öffnen Sie die <code>sudo</code>-PAM-Konfiguration zum Bearbeiten:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo nano /etc/pam.d/sudo
|
||
</span></span></code></pre></div><p>Fügen Sie die folgende Zeile <strong>GANZ OBEN</strong> in die Datei ein:</p>
|
||
<pre tabindex="0"><code>auth sufficient pam_u2f.so authfile=/home/DEIN_BENUTZER/.config/Yubico/u2f_keys
|
||
</code></pre><ul>
|
||
<li>Ersetzen Sie <code>DEIN_BENUTZER</code> durch Ihren tatsächlichen Linux-Benutzernamen (z.B. <code>jonnybravo</code>).</li>
|
||
<li><code>auth sufficient</code>: Bedeutet, dass eine erfolgreiche Authentifizierung mit dem YubiKey <strong>ausreicht</strong>. 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 <code>required</code> verwenden, MUSS der YubiKey funktionieren.</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><strong>Testen:</strong>
|
||
Öffnen Sie ein <em>neues</em> Terminal (NICHT das, in dem Ihre Root-Shell läuft) und testen Sie den <code>sudo</code>-Befehl (z.B. <code>sudo ls</code>). Sie sollten aufgefordert werden, Ihren YubiKey zu berühren. Berühren Sie ihn und prüfen Sie, ob <code>sudo</code> funktioniert. Funktioniert es nicht, nutzen Sie das Root-Terminal, um die Änderungen rückgängig zu machen.</p>
|
||
</li>
|
||
</ol>
|
||
<p><strong>Weitere PAM-Anwendungen:</strong>
|
||
Ähnliche Einträge können Sie auch für den Login-Manager (z.B. <code>sddm</code>, <code>gdm</code>, <code>lightdm</code>) oder den Screensaver (z.B. <code>swaylock</code>) in deren entsprechenden PAM-Dateien (<code>/etc/pam.d/<dienstname></code>) hinzufügen. Das genaue Vorgehen kann je nach Dienst variieren.</p>
|
||
<hr>
|
||
<h3 id="wichtige-hinweise">Wichtige Hinweise:</h3>
|
||
<ul>
|
||
<li><strong>PINs und PUKs:</strong> Merken Sie sich die PINs und PUKs Ihres YubiKeys. Sie sind für viele Funktionen unerlässlich.</li>
|
||
<li><strong>Backups:</strong> Erstellen Sie immer Backups Ihrer GPG-Schlüssel, bevor Sie diese auf den YubiKey verschieben.</li>
|
||
<li><strong>Vorsicht bei PAM:</strong> 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).</li>
|
||
<li><strong>Firmware:</strong> Stellen Sie sicher, dass die Firmware Ihres YubiKeys aktuell ist (<code>ykman firmware info</code>).</li>
|
||
<li><strong>Dokumentation:</strong> Die Yubico-Dokumentation ist exzellent und sollte bei spezifischen Problemen oder fortgeschrittenen Konfigurationen konsultiert werden.</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</main>
|
||
<footer>
|
||
<p>Hugo Docker CMS – <a href="/index.xml">RSS</a></p>
|
||
</footer>
|
||
</body>
|
||
</html> |