Call for testing: OpenSSH 8.2
Damien Miller
djm at mindrot.org
Fri Feb 7 15:21:04 AEDT 2020
On Thu, 6 Feb 2020, Phil Pennock wrote:
> On 2020-02-06 at 10:29 +1100, Damien Miller wrote:
> > Generating a FIDO key requires the token be attached, and will usually
> > require the user tap the token to confirm the operation:
>
> Pretending first that I didn't have Damien's original post to the list,
> to debug this as a non-subscriber would ...
>
> ssh-keygen doesn't document SecurityKeyProvider, only $SSH_SK_PROVIDER,
> and when people search for that variable in the public docs there's
> nothing much.
I'll mention $SSH_SK_PROVIDER in the release notes for ssh-keygen(1).
Naturally ssh-keygen doesn't use SecurityKeyProvider as it doesn't
read any config files.
> SecurityKeyProvider has better text and a pointer to the entry in
> ssh_config(5) might help.
I've synced the manual page text for $SSH_SK_PROVIDER in ssh-keygen.1
and ssh-add.1 to match SecurityKeyProvider in ssh_config.5, thanks.
> I found one line in README.md (nit: "dependenciesi" has an extra "i"
> there) and doesn't mention --with-security-key-builtin (or is this not
> needed now?)
Fixed - thanks.
> Nothing outside of Damien's post seems to mention libsk-libfido2.so; the
> libfido2 git log shows that the middleware moved into OpenSSH instead.
> I'm guessing this is where --with-security-key-builtin comes from.
> With libfido2 having removed the anchor, should the build even be
> succeeding to create SK stuff without the --with-security-key-builtin
> flag passed to configure?
Yes, the motivation is that users might want to supply their own FIDO
middleware instead of the built-in one.
> Builds with PKG_CONFIG_PATH set for picking up libfido2.pc don't
> propagate paths into DT_RUNPATH, but I guess folks using non-standard
> install locations for custom stuff get what they deserve. :) Adjusting
> to pass -Wl,-R through, it works.
AFAIK that might be a bug in the generated libfido2.pc
> When an ECDSA-SK handle has been loaded into ssh-agent, and you connect
> to a host, there is no prompt to touch the token beyond a light on the
> token starting to blink.
>
> No ssh-agent:
> % ssh -p 24 fullerene
> Enter passphrase for key '/home/pdp/.ssh/id_ecdsa_sk':
> Confirm user presence for key ECDSA-SK SHA256:Agweaa0e8uWR2UAqW/0ETHTPvawOdR1mu0DAk2r27Dw
>
> Agent:
> % ssh-add ~/.ssh/id_ecdsa_sk
> Enter passphrase for /home/pdp/.ssh/id_ecdsa_sk:
> Identity added: /home/pdp/.ssh/id_ecdsa_sk (pdp at fullerene)
> Later:
> % ssh -p 24 fullerene
> [hangs, no output]
>
> Can that "Confirm user presence" nudge be made to happen with the agent
> in play too? It's nice.
So, that should work if the agent has $DISPLAY set and access to
SSH_ASKPASS - it should pop up a confirmation box that will go away
as soon as you touch the key.
-d
More information about the openssh-unix-dev
mailing list