Client:
- Arch based distro
- OpenSSH package version: 9.3p1-2
- SSH-Agent started with
ssh-agent -cinfishshell - Key generated with:
ssh-keygen -t ed25519-sk -f ~/.ssh/servers_ed25519_sk -O verify-required
Server:
- Server as VM spun up with vagrant
- Debian 11
- openssh-server version: 1:8.4p1-5+deb11u1
Initial client command:
ssh vagrant@127.0.0.1 -p22150 -i ~/.ssh/servers_ed25519_sk -vvv -o IdentitiesOnly=yes
Explanation:
ssh vagrant@127.0.0.1 -p22150: vagrant related.-vvv: verbose output-o IdentitiesOnly=yes: To avoid using other keys (vagrant generates a private key that is stored in the ssh-agent and used if not forbidden).
When running the command, everything is requested: Passphrase, PIN and Touch. Initial connection works.
The key is automatically added to the ssh-agent during the first run.
Same command run again. Output:
debug1: Offering public key: ~/.ssh/servers_ed25519_sk ED25519-SK SHA256:XXX explicit authenticator agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: ~/.ssh/servers_ed25519_sk ED25519-SK SHA256:XXX explicit authenticator agent
debug3: sign_and_send_pubkey: using publickey with ED25519-SK SHA256:XXX
debug3: sign_and_send_pubkey: signing using sk-ssh-ed25519@openssh.com SHA256:XXX
sign_and_send_pubkey: signing failed for ED25519-SK "~/.ssh/servers_ed25519_sk" from agent: agent refused operation
There is no prompt or anything alike to re-enter the PIN.
So I guess that is the problem, because the key is generated with verify-required option.
It is my understanding, that since version 8.9 openssh client should be capable of deadling with ed25519-sk keys in the agents. It seems no to be a server problem, since the initial connection works. So why is this not working?