(Resident)Keypair für SSH mit Yubikey erstellen
Die Anleitung bezieht sich auf ein Ubuntu 22.04 bzw. wurde mit dieser getestet. Wie immer ohne Gewähr. Des weiteren: Kein Backup, kein Mitleid!
Es sollte vorher das PPA von Yubico auf dem System installiert sein:
sudo add-apt-repository ppa:yubico/stable && sudo apt-get update
danach sollte der Yubikey-Manager(CLI) installiert werden:sudo apt install yubikey-manager
und ebenso (empfehlenswert)sudo apt install libpam-yubicosudo apt install libpam-u2fsudo apt install yubikey-manager-qtsudo apt install yubioath-desktop
Nun mit dem Yubikeymanager (yubikey-manager-qt) einen Fido-PIN für den Yubikey festlegen falls noch nicht geschehen.
Jetzt in ein Verzeichnis wechseln in der die Keys abgelegt werden sollen: Zum Bespielcd ~/Downloads/Yubikey-ssh
Nun erstellen wir uns den Key. Beachtet bitte dass dies ein Beispiel ist. Ersetzt "yubikeyname" und "ZWECKDESKEYS"! Falls ihr euer Keyfile noch zusätzlich mit einem Passwort schützen möchtet schreibt dies bitte bei -N 'PASSWORT' hinein.
ssh-keygen -t ed25519-sk -N '' -f yubikeyname -O resident -O application=ssh:ZWECKDESKEYS
Das System frägt nach der PIN des Yubikeys. Ebenso müsst Ihr diesen einmal berühren wenn er blinkt.
Jetzt sollten zwei Dateien erzeugt worden sein. In meinem Beispiel lauten diese yubikeyname und yubikeyname.pub
Überprüfen ob der Key auf dem Yubikey gespeichert wurde:ykman fido credentials list
Bereit um den .pub Key auf den Remoteserver zu pushen:
Natürlich nicht vergessen die Daten in dem Befehl abzuändern...
ssh-copy-id -i yubikeyname.pub root@123.123.123.123
Sollte der Key versehentlich gelöscht oder verloren gegangen sein kann man diesen nun problemlos neu generieren lassen: ssh-keygen -K
Der Key wurde wieder erzeugt, allerdings mit einem anderen Dateinamen.
