[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