Kontakt

Carsten Rieger IT Services
Am Danglfeld 8 | 83132 Pittenhart
Telefon: 08624.9009794
E-Mail: info@c-rieger.de

SSH Zugang mit 2FA – Protected by Nitrokey (3AMini)

Wir zeigen Ihnen, wie Sie ihren SSH-Zugang mittels eines 2. Faktors (2FA) am Beispiel des Nitrokeys 3AMini absichern können. Es wird ein Schlüssel basierend auf ed25519 erstellt und für die Einwahl genutzt.

Stecken Sie den Nitrokey an Ihr Gerät.

Öffnen Sie nun die Konsole als „normaler“ Benutzer.

Erstellen Sie nun einen neuen Key. Dazu führen Sie den nachfolgenden Befehl aus:

ssh-keygen -t ec25519-sk -C 'Bspw. Ihr Name als Beschreibung'

Durch die Endung -sk („…-t ec25519-sk„) wird im Schlüsselverfahren der FIDO/FIDO2 Support aktiviert und eingerichtet. Weiterführende Informationen finden Sie hier.

FIDO-AUTHENTIFIKATOR

ssh-keygen kann FIDO-Authentifikator-basierende Schlüssel erstellen. Anschließend können diese fast genauso wie jeder andere, von OpenSSH unterstützte Schlüsseltyp verwandt werden, so lange wie der Hardware-Authentifikator angestöpselt ist, während die Schlüssel verwandt werden. FIDO-Authentifikatoren verlangen im Allgemeinen vom Benutzer eine explizite Authentifizierungsaktion, indem sie berührt oder angetippt werden. FIDO-Schlüssel bestehen aus zwei Anteilen: Einem Schlüsselverwalteranteil, der in der privaten Schlüsseldatei auf Platte gespeichert ist, und einen geräteabhängigen privaten Schlüssel, der für jeden FIDO-Authentifikator eindeutig ist und der nicht von der Authentifikator-Hardware exportiert werden kann. Diese werden durch die Hardware zum Zeitpunkt der Authentifizierung kombiniert, um den echten Schlüssel abzuleiten, der zur Signatur von Authentifizierungs-Herausforderungen verwandt wird. Unterstützte Schlüsseltypen sind ecdsa-sk und ed25519-sk.

13.02.2023: manpages.debian.org

Der in rot dargestellte Kommentar kann frei vergeben werden oder ganz weggelassen werden. Ein Schlüssel ohne Kommentar würde wie folgt erstellt werden:

ssh-keygen -t ec25519-sk

Tippen Sie auf den Nitrokey, um diesen als zweiten Faktor (2FA) zu definieren. Wir wählen zur Veranschaulichung einen eigenen Schlüsselnamen aus. Möchten Sie das nicht, so bestätigen Sie durch die ENTER-Taste den vorgeschlagenen Schlüsselnamen:

Vergeben Sie nun eine komplexe Passphrase für den privaten Schlüssel: Geben Sie diesen ein und bestätigen diesen dann erneut:

Der Schlüssel wird anschließend generiert und kann umgehend verwendet werden.

Überprüfen Sie den neuen Schlüssel mittels des nachfolgenden Befehls:

ssh-keygen -l -f ~/.ssh/id_ed25519_SSH_sk

Wird Ihnen der korrekte Schlüssel dargestellt, so können Sie den öffentlichen Schlüssel auf den Server kopieren udn sich im Anschluss bereits mit dem neuen Schlüssel anmelden:

ssh-copy-id -i ~/.ssh/id_ed25519_SSH_sk.pub <benutzername>@<Server-IP>

Ist die Übertragung abgeschlossen, so können Sie sich wie folgt anmlden:

ssh -i ~/.ssh/id_ed25519_SSH_sk <benutzername>@<Server-IP>

Enter passphrase for key ‘/.ssh/id_ed25519_SSH_sk’:

Tippen Sie dann auf den Nitrokey und genießen Sie den SSH-Zugang, abgesichert mit einem zweiten Faktor (2FA). Es gibt noch viele weitere Einsatzmöglichkeiten, bspw. können Sie Ihren Nextcloud-Login oder Ihren WordPress-Login damit absichern:

Wir wünschen Ihnen viel Spaß und würden uns über Ihre Unterstützung (diese wird ordnungsgemäß versteuert!) sehr freuen!