[Bug 2000276] Re: FIDO2 user verification impossible when using the ssh agent
Andreas Hasenack
2000276 at bugs.launchpad.net
Wed Jan 11 20:16:58 UTC 2023
Some references I found back then:
https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/101
https://github.com/openssh/openssh-
portable/commit/39d17e189f8e72c34c722579d8d4e701fa5132da
>From my chat messages:
plain ssh-agent on kinetic worked with verify-required keys
but I had to install ssh-askpass (ugly X11 interface)
without it, it fails
gnome-keyring's ssh-agent doesn't seem to support PIN entry for verify-required keys
that's a lot of exceptions to list in the docs: a) newer openssh-client; b) ssh-askpass-gnome installed; c) use ssh-agent, not gnome-keyring (gnome-keyring is our default)
So IIRC, it worked with kinetic's openssh ssh-agent, not ssh-agent from
elsewhere (that would be the gnome-keyring bug linked above).
** Bug watch added: gitlab.gnome.org/GNOME/gnome-keyring/-/issues #101
https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/101
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/2000276
Title:
FIDO2 user verification impossible when using the ssh agent
Status in openssh package in Ubuntu:
New
Bug description:
I am having trouble setting up FIDO2 ssh keys with my yubikey 5C NFC
if I want to enable user verification (user presence works fine).
Steps to reproduce:
= Prep work =
Client (kinetic):
* generate a key that requires user verification:
$ ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_verify_sk -O verify-required -C "this key requires UV"
[provide your authenticator PIN, touch it, and add an encryption password]
Server (jammy):
* add id_ed25519_verify_sk.pub to authorized_keys
= Symptoms =
Shell 1 (w/ssh agent):
$ eval $(ssh-agent)
Agent pid 3279738
$ ssh-add ~/.ssh/id_ed25519_verify_sk
Enter passphrase for /home/aieri/.ssh/id_ed25519_verify_sk:
Identity added: /home/aieri/.ssh/id_ed25519_verify_sk (this key requires UV)
$ ssh ubuntu at 10.35.202.231 -i ~/.ssh/id_ed25519_verify_sk "echo FIDO2 fails\!"
sign_and_send_pubkey: signing failed for ED25519-SK "/home/aieri/.ssh/id_ed25519_verify_sk" from agent: agent refused operation
ubuntu at 10.35.202.231: Permission denied (publickey).
[note that the above is printed immediately, and that the yubikey does
not light up]
Shell 2 (no ssh agent):
$ ssh ubuntu at 10.35.202.231 -i ~/.ssh/id_ed25519_verify_sk "echo FIDO2 works\!"
Enter passphrase for key '/home/aieri/.ssh/id_ed25519_verify_sk':
Enter PIN for ED25519-SK key /home/aieri/.ssh/id_ed25519_verify_sk:
Confirm user presence for key ED25519-SK SHA256:nhgS4c2rGtE7XKeez3rAsofrjJvsL6rmBLShZxfTXIY
User presence confirmed
FIDO2 works!
NOTE:
* user _presence_ can be validated correctly with or without the ssh-agent: keys generated without `-O verify-required` work as expected (aside from bug 1869897)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/2000276/+subscriptions
More information about the foundations-bugs
mailing list