Não é possível gerar a chave SSH ed25519-sk

Não é possível gerar a chave SSH ed25519-sk

Estou tentando gerar uma ed25519-skchave SSH no Ubuntu 20.04.03 LTS. No entanto, recebo um 255código de erro quando tento. Estou usando a versão OpenSSH: OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020. Minha chave de hardware é uma chave Google Titan. Veja abaixo o comando que estou usando e sua saída:

$ 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

No entanto, gerar uma ecdsa-skchave SSH funciona sem 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]-----+

Estou fazendo algo errado ou isso é um bug? Se isso for um bug, há alguma solução alternativa conhecida?

Obrigado!

Editar: adicionado o tipo de chave de hardware que estou usando.

Responder1

Se você estiver usando um Yubikey 5, o id_ed25519 só estará disponível em uma versão de firmware posterior (v5.2.3)1enquanto id_ecdsa estava sempre disponível.

informação relacionada