No se puede generar la clave SSH ed25519-sk

No se puede generar la clave SSH ed25519-sk

Estoy intentando generar una ed25519-skclave SSH en Ubuntu 20.04.03 LTS. Sin embargo, recibo un 255código de error cuando lo intento. Estoy usando la versión OpenSSH: OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020. Mi clave de hardware es una clave Google Titan. Vea a continuación el comando que estoy usando y su resultado:

$ ssh-keygen -vvv -t ed25519-sk                                                     
Generating public/private ed25519-sk key pair.
You may need to touch your authenticator to authorize key generation.
debug3: start_helper: started pid=12407
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 0x01, challenge len 0
debug1: sshsk_enroll: using random challenge                                                                                                                                    
debug1: ssh_sk_enroll: using device /dev/hidraw9                                                                                                                                
debug1: ssh_sk_enroll: fido_dev_make_cred: FIDO_ERR_INVALID_ARGUMENT
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=12407
Key enrollment failed: invalid format

Sin embargo, generar una ecdsa-skclave SSH funciona sin problemas:

$ ssh-keygen -vvv -t ecdsa-sk
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation.
debug3: start_helper: started pid=12509
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 0x01, challenge len 0
debug1: sshsk_enroll: using random challenge
debug1: ssh_sk_enroll: using device /dev/hidraw9
debug3: ssh_sk_enroll: attestation cert len=349
debug1: ssh-sk-helper: reply len 669
debug3: ssh_msg_send: type 5
debug3: reap_helper: pid=12509
Enter file in which to save the key (/home/username/.ssh/id_ecdsa_sk): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/username/.ssh/id_ecdsa_sk
Your public key has been saved in /home/username/.ssh/id_ecdsa_sk.pub
The key fingerprint is:
SHA256:H9n8rBxJUB9Gdk9QfSKY8hhKX9ufBlD5rX9iZk18rYw username@hostname
The key's randomart image is:
+-[ECDSA-SK 256]--+
|           +oo*o=|
|      . o =.o+.++|
|     . o *.+ o.oo|
|      . o o=o . .|
|        S o +o +.|
|         . o += =|
|          . o+o=.|
|           .EoB +|
|            o+ ..|
+----[SHA256]-----+

¿Estoy haciendo algo mal o es un error? Si se trata de un error, ¿existen soluciones alternativas?

¡Gracias!

Editar: se agregó el tipo de llave de hardware que estoy usando.

Respuesta1

Si está utilizando una YubiKey 5, id_ed25519 solo está disponible en una versión de firmware posterior (v5.2.3)1mientras que id_ecdsa siempre estuvo disponible.

información relacionada