Nitrokey3 ssh Ubuntu

Hallo, wollte gerade einen ssh Key auf dem Nitrokey3 anlegen. Nach der Eingabe der Pin erscheint jedoch folgendes:

#:ssh-keygen -vvv -t ecdsa-sk -O resident
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation.
debug3: start_helper: started pid=45788
debug3: ssh_msg_send: type 5
debug3: ssh_msg_recv entering
debug1: start_helper: starting /usr/lib/openssh/ssh-sk-helper
debug1: sshsk_enroll: provider “internal”, device “(null)”, application “ssh:”, userid “(null)”, flags 0x21, challenge len 0
debug1: sshsk_enroll: using random challenge
debug1: ssh_sk_enroll: using device /dev/hidraw2
debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_PIN_REQUIRED
debug1: sshsk_enroll: provider “internal” returned failure -3
debug1: ssh-sk-helper: Enrollment failed: incorrect passphrase supplied to decrypt private key
debug1: ssh-sk-helper: reply len 8
debug3: ssh_msg_send: type 5
debug1: client_converse: helper returned error -43
debug3: reap_helper: pid=45788
Enter PIN for authenticator:
debug3: start_helper: started pid=45789
debug3: ssh_msg_send: type 5
debug3: ssh_msg_recv entering
debug1: start_helper: starting /usr/lib/openssh/ssh-sk-helper
debug1: sshsk_enroll: provider “internal”, device “(null)”, application “ssh:”, userid “(null)”, flags 0x21, challenge len 0 with-pin
debug1: sshsk_enroll: using random challenge
debug1: ssh_sk_enroll: using device /dev/hidraw2
debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_MISSING_PARAMETER
debug1: sshsk_enroll: provider “internal” returned failure -1
debug1: ssh-sk-helper: Enrollment failed: invalid format
debug1: ssh-sk-helper: reply len 8
debug3: ssh_msg_send: type 5
debug1: client_converse: helper returned error -4
debug3: reap_helper: pid=45789
Key enrollment failed: invalid format

Zuvor hatte ich die Pin noch nocht gesetzt, da musste ich die Taste drücken und danach hat er den key auch auf dem Nitrokey gelegt. Da ich mich allerdings nicht per ssh verbinden konnte und in der Anleitung steht ich muss vorher eine Pin setzen habe ich diesen gelöscht und wollte diesen nun neu erstellen, mit dem obigen Ergebnis.

Ich hoffe Ihr könnt mir helfen

Hi Daniel
so weit ich das hier richtig sehe ist das ein bekanntes Problem (https://github.com/solokeys/fido-authenticator/issues/3) welches in der nächsten Firmware Version gefixt sein sollte https://github.com/Nitrokey/nitrokey-3-firmware/blob/main/CHANGELOG.md#v101-rc1-2021-12-06

Hallo nesti,

danke für Deine Antwort. Ah, ok, schade, dann werde ich damit eben auch noch warten müssen, schade.

Aber danke Dir.

I updated my nitrokey 3 mini to the latest firmware 1.5.0, and I get the same error when I run

ssh-keygen -t ed25519-sk 

It does ask me for my PIN and then it fails with “Key enrollment failed: invalid format”.
I use openssh 8.2

Seems like this problem only exists with old nitropy versions. 0.4.40 (which is on ubuntu 24.04) works.
Nitropy 0.4.24 (which is what you get on ubuntu 22.04) fails. Maybe there should be some prominent announcement somewhere, that your nitrokeys don’t work on ubuntu 22.04 anymore.