sshopensshecdsassh-keygenfido-u2f

Cannot Generate U2F Public/Private Keypair for ssh : FIDO_ERR_RX


I'm currently experiencing issues generating a U2F public/private key-pair in the terminal with the following command:

ssh-keygen -t ecdsa-sk -vv

Running this command provides the following error:

Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation.
debug1: start_helper: starting /usr/local/Cellar/openssh/8.3p1/libexec/ssh-sk-helper
debug1: sshsk_enroll: provider "internal", device "(null)", application "ssh:", userid "(null)", flags 0x01, challenge len 0
debug1: sshsk_enroll: using random challenge
debug1: ssh_sk_enroll: using device IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/XHC1@14000000/HS07@14200000/Yubikey 4 OTP+U2F+CCID@14200000/IOUSBHostInterface@1/AppleUserUSBHostHIDDevice
debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_RX
debug1: sshsk_enroll: provider "internal" returned failure -1
debug1: ssh-sk-helper: Enrollment failed: invalid format
debug1: ssh-sk-helper: reply len 8
debug1: client_converse: helper returned error -4
Key enrollment failed: invalid format

I'm running MacOS with the latest version of OpenSSH updated to:

OpenSSH_8.3p1, OpenSSL 1.1.1g 21 Apr 2020

My current version of libfido2 is: 1.4.0 installed via Homebrew.

My Yubikey model is: Yubikey C Nano FIPS

My Yubikey firmware is: 4.4.5

Does anyone know what the origins of this error are? Does the Yubikey FIPS series not support this command?


Solution

  • It appears that the issue causing this problem was an admin password placed on U2F functionality before I ever received the Yubikey from my work. You can't generate a U2F ecdsa-sk public/private keypair with an admin password in place.