如何让我的Yubiky在Windows 10中使用SSH

  • 本文关键字:SSH Windows Yubiky git ssh yubikey
  • 更新时间 :
  • 英文 :


在出于技术兴趣购买Yubiky 5 NFC(固件5.2.7(并尽可能设置FIDO2身份验证后,我遇到了无法再通过SmartGit连接到我的GitLab服务器的问题,因为没有请求第二个因素,因此我无法连接到服务器。

然后我决定通过GitBash和SSH在Windows10上处理它。不幸的是,这里的文档假设了很多先验知识,而我是这个主题的绝对初学者。与此同时,我设法使用本地生成的SSH证书通过GitBash和SSH连接到服务器。

现在我想使用Yubikey,而不是本地存储在计算机上的证书。不幸的是,所有指令(例如本条https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key-for-hardware-security-key(对我来说导致了相同的错误消息:

$ ssh-keygen -t ed25519-sk -C "name@mail.com"
Generating public/private ed25519-sk key pair.
You may need to touch your authenticator to authorize key generation.
Key enrollment failed: invalid format

在此之前,系统会提示我输入PIN。有趣的是:消息看起来完全一样,我是否插入了Yubiky并不重要。使用ecdsa-sk的尝试导致了相同的结果。

(顺便说一句,我已经成功地在Yubiky上存储了一个OpenPGP证书。(

现在我也读到了一些关于libfido2的内容,但我找不到任何关于如何在Windows 10上使用它的说明。

所以我的问题是:我如何使用我的Yubiky而不是我的本地密钥?或者:如果有问题,我该如何安装libfido2?

2021年5月

因此:正如本月初(2021年5月(在GitHub上宣布的那样,SSH Git操作现在确实支持安全密钥,但正如这里所讨论的,仍然存在问题。

您的错误消息看起来像是Debian上正在进行的错误:";问题980393:/usr/bin/ssh-keygen -t ecdsa-sk失败;密钥注册失败:无效格式"&">
本月仍有报道。

如果-t ecdsa也失败了,请尝试使用OpenSSH插件通过本机Windows Hello API连接到FIDO/U2F安全密钥,这可能会有所帮助
请先键入export SSH_SK_HELPER=/usr/lib/ssh/ssh-sk-helper.exe,如tavrez/openssh-sk-winhello第1期所示。
请检查您的OpenSSH版本是否至少为8.2。它与最新的Windows版Git:站在我这边

ssh -V
OpenSSH_8.5p1, OpenSSL 1.1.1k  25 Mar 2021

OP DroidDroid在评论中补充道:

尽管如此,我现在遇到了GitLab还不支持安全密钥的问题:issue 213259


二月。2022:这些安全密钥现在应该在GitLab上得到支持。

参见GitLab 14.8(2022年2月(

支持ecdsa-sk和ed25519sk SSH密钥

OpenSSH 8.2添加了对FIDO/U2F硬件验证器的支持ecdsa-sk和ed25519sk密钥类型。

GitLab现在支持这些密钥类型,允许用户利用硬件支持的SSH身份验证。

https://about.gitlab.com/images/14_8/ssh_key.png--支持ecdsa-sk和ed25519sk SSH密钥

请参阅文档和问题。

最新更新