vorhandene ssh keys in das piv applet von einem yubikey importieren

soll ein vorhandener ssh schlüssel in das piv applet von einem yubikey importiert werden,  ist es nötig das vorab die schlüssel in das pem format gebracht werden.

private key

openssl rsa -in ~/.ssh/id_rsa -out id_rsa.pem -outform pem

public key

ssh-keygen -e -f ~/.ssh/id_rsa.pub -m PKCS8 > id_rsa.pub.pkcs8

anschließend wird der private schlüssel auf den yubi-key in den slot 9a importiert.
die option „–touch-policy“ legt fest ob der knopf auf dem yubikey gedrückt werden muss um die eingäbe zu akzeptieren.

den privaten schlüssel importieren

yubico-piv-tool -a import-key -s 9a -i id_rsa.pem --touch-policy=never

das selbstsignierte Zertifikat wird mit dem vorher konvertierten public key erstellt.

ein selbstsigniertes zertifikat erstellen

yubico-piv-tool -a verify-pin -a selfsign-certificate -s 9a -S "/CN=SSH key/" -i id_rsa.pempkcs8 -o cert.pem

nach dem import des Zertifikats ist ist das piv-applet auf dem yubikey benutzbar.

das selbstsiegnierte zertifikat wieder importieren

yubico-piv-tool --key -a import-certificate -s 9a -i cert.pem

mit  

ssh-keygen -D /usr/local/opt/opensc/lib/opensc-pkcs11.so -e

wird der public key aus dem yubikey ausgegeben welcher dann auf in die .ssh/authorized_keys auf dem remotesystem eingefügt werden kann.