-
Notifications
You must be signed in to change notification settings - Fork 779
Enable FIDO support #1804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
thanks for releasing the 8.6 package. Just to clarify when you say that FIDO support is not availible in window 8.6 release you are referring to 'ecdsa-sk' and 'ed25519-sk' key types that were released in openssh 8.2? |
Yes. It's not straight forward to enable on windows. It involves more work. I want to get the V8.6 out and later work on FIDO. |
Thanks for the release, here is the information I can provide about FIDO:
The other thing is how you want to implement ssh-sk-helper.exe, I'm not sure if you need to change it at all or it's good in the way it is. But just to give brief info for tracking here:
|
As far as I know the implementation exists in libfido2 (OpenSSH is actually using it), it need to be ported into Windows Hello webauthn. Anyway I'll help on each part I can when it became ready. |
Hi @bagajjal, I was wondering if you could provide an update on the status of FIDO support. |
@NYCJames , We have this in our backlog. At this point it's not prioritized. |
Btw. It looks to be that someone has already implemented FIDO support on https://github.com/tavrez/openssh-sk-winhello |
See the comments by @tavrez above. |
I really don't understand, how this is not prioritized. You say that this is OpenSSH 8.6 but it's actually only a part of it, as a major functionality that was release over a year ago is still not working on windows at all. Just have a look at #1557 . |
libfido2 1.8.0 (released 2021-07-22) introduced support for Windows's native webauthn API. To support ssh-sk, a few modifications are required in https://github.com/PowerShell/openssh-portable; these can be found at PowerShell/openssh-portable@latestw_all...martelletto:fido2. Step-by-step build and test instructions are available in https://gist.github.com/martelletto/6a7cf806c6433ac9ce71d66afb94d70e. |
@bagajjal Is there any eta for the FIDO2 support ? |
@bagajjal is there any update? |
FIDO2 support is being worked on in PowerShell/openssh-portable#541 |
For those of you interested, please find the private SSH binaries with FIDO support here. This currently doesn't support registering the FIDO private keys with ssh-agent.exe. We are currently working on this. Usage, 1 Create a ecdsa-sk credential on a security key:
2 Setup the key based authentication using the generated ecdsa-sk.pub key. Follow instructions here 3 ssh user@ip -i <path_to_ecdsa-sk-private-key-file> 4 You are prompted to confirm the user presence by touching your security key. Please note, the security device (Yubico) must be physically connected to the machine running ssh.exe. It doesn't work over the RDP / Hyperv VMs. This is a limitation on windows OS. Please let us know if you encounter any issues |
Will this limitation be lifted in the future? The pandemic has increased the usage of rdp a lot, you know :| |
RDP is capable of formarding Smartcards, but I don't think it forwards Smartcard readers. Most FIDO tokens will show as a CCID reader, not as a smartcard (because that's not what they are), so that's not an easily solvable problem I think. Microsoft would have to do some sort of universal Hello forwaring over RDP. |
@Trolldemorted , @zviratko , |
We are working on it. Actually you should be able to test it now in Windows insiders builds. Note that both client and server needs to be on insiders build. |
You mean the windows hello forwarding? That'd be super useful, what is the minimum windows build version for that? Do you expect this feature to arrive in older windows builds? You know, corporate machines are often on LTSC channels, it takes literally years until bugfixes and features reach us :) |
Cool! |
@bagajjal I've tried to use the provided binaries today but I received the following error:
I've had the winhello.dll from https://github.com/tavrez/openssh-sk-winhello/releases/tag/v2.0.0 installed there, but neither removing nor redownloading the dll had any effect on the problem. |
Documenting for anyone who had set up https://github.com/tavrez/openssh-sk-winhello before: |
@bagajjal will this be included in this half year's Windows 11 update? |
@JunielKatarn - We are trying our best to include V8.9 (with has FIDO2 support) in next Windows release. At the moment, I can't promise as windows timelines are very strict and they wouldn't allow large changes late in the release cycle. |
@bagajjal Thanks. If there is any testing / validation that I could do to help, let me know. I am interested in this feature on Windows (MS FTE: jurocha). |
@bagajjal does this support registering the FIDO private keys with ssh-agent.exe? Would I also be able to use it from WSL2? |
@Neurrone - V8.9 supports registering the FIDO private keys with ssh-agent.exe. I never tried to use if from WSL2. |
I encountered the following error while trying to regenerate the key from the YubiKey: >ssh-add -K
Cannot download keys without provider After I got the stub files on the machine, I tried adding the private key to the ssh-agent and tried using it to SSH into a machine. Doing so fails with the following error: sign_and_send_pubkey: signing failed for ED25519-SK "c:/Users/dickson/.ssh/id_ed25519_sk" from agent: agent refused operation Removing that key from the agent fixes this error, it prompts me to touch my device as expected. |
@Neurrone - Win32-openssh uses the internal provider, that's shipped with openssh. Are you sure, you are using win32-openssh ssh-add V8.9? code here. If you installed v8.9 using MSI then there is a known issue. If not, then please check event viewer to find out the ssh-agent error message. Also please open a new issue as this issue is for different purpose and it's closed. |
@Neurrone - sorry, the code is disabled for windows. I will look into it. |
Please note that |
For FIDO usage, please refer to https://github.com/PowerShell/Win32-OpenSSH/wiki/FIDO---U2F-usage |
Hello bagajjal, I'm using Yubi Key and followed the instructions in the wiki to make OpenSSH 8.9 working with FIDO. I also tried to use https://github.com/tavrez/openssh-sk-winhello, but the latest Version has no support for Open SSH 8.9. Best regards |
@abairit Usually only certain interactions with the Yubikey require administrative permissions; I'm not sure why you seem to be getting it for everything. As an experiment, you could try downloading my PuTTYImp program (https://github.com/NoMoreFood/putty-cac/blob/master/binaries/x64/puttyimp.exe) and then, under an administrative command prompt, execute: |
Hi, When I run git fetch from an administrative shell, it works without the error message. I have to touch the yubi key to authorize and everything is fine. But without administrative shell, the yubi key is not found. |
@abairit Darn, thanks for trying. |
any other ideas to get the yubi key working with openssh 8.9 and FIDO without a administrative shell? |
OpenSSH V8.6 (released on 5/27/2021) doesn't have FIDO support.
This issue is used for tracking.
The text was updated successfully, but these errors were encountered: