Files
hugo_docker/site/public/yubikey_setup_guide/index.html
T
jonnybravo cfb0a60b3b
Test & Deploy Hugo Docker CMS / test-and-deploy (push) Successful in 5m17s
Molecule 7/7: ansible_remote_tmp fix
2026-09-10 09:52:09 +02:00

208 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html lang="de">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;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">
<script src="/js/search.min.868f9708373e89ca72730cc71884718dc463b495c2a72c24a6d6f48e64000709.js" defer></script>
</head>
<body>
<header>
<a href="/" class="logo">Hugo Docker CMS</a>
<div class="search">
<input
type="search"
id="search-input"
placeholder="Suchen…"
autocomplete="off"
aria-label="Suche"
aria-controls="search-results"
aria-expanded="false">
<div id="search-results" class="search-results" hidden></div>
</div>
<nav aria-label="Breadcrumb">
<a href="/">← Start</a>
</nav>
</header>
<main data-pagefind-body>
<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> &amp; <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&rsquo;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 &ldquo;Card&rdquo; 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">&#34;mein-yubikey-ssh-schluessel&#34;</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 &gt; ~/.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/&lt;dienstname&gt;</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>