Yubikey PIV SSH Client mit Windows 10
- YubiKey 5 Series
- Windows 10 21H1
- Installiertes Yubico Piv Tool
- Path Variable gesetzt: C:\Program Files\Yubico\Yubico PIV Tool\bin
PowerShell für Slot 9c
New-Item -Path $env:USERPROFILE\.ssh\ -Name "config" -ItemType "file" -Value 'PKCS11Provider "C:\Program Files\Yubico\Yubico PIV Tool\bin\libykcs11.dll"'
type $env:USERPROFILE\.ssh\config
yubico-piv-tool -a generate -s 9c -A RSA2048 --pin-policy=never --touch-policy=always -o public.pem
#touch after this command, maybe adjust "CN=SSH key"
yubico-piv-tool -a selfsign-certificate -s 9c -S "/CN=SSH key/" -i public.pem -o cert.pem
yubico-piv-tool -a import-certificate -s 9c -i cert.pem
Das public.pem muss nun noch in ein Format für OpenSSH konvertiert werden. Dies ist auf einem beliebigen Linux System oder auch auf dem Ubuntu Subsystem mit folgendem Befehl möglich. Windows 10 funktionierte hier nicht, keine Ausgabe und kein Fehler.
ssh-keygen -i -m PKCS8 -f public.pem
Danach kann der Public Key in die .ssh/authorized_keys hinzugefügt werden.
Ein Verbinden zum Zielsystem ist sowohl mit cmd, als auch PowerShell möglich. Dabei wird der YubiKey via PKCS11 angefragt und es muss der PIV PIN eingegeben werden, danach noch ein Touch auf den YubiKey.