在出于技术兴趣购买了 Yubikey 5 NFC(固件 5.2.7)并在可能的情况下设置了 FIDO2 身份验证后,我遇到了无法再通过 SmartGit 连接到我的 GitLab 服务器的问题,因为没有请求第二个因素,因此我无法连接到服务器。
然后我决定通过 Git Bash 和 SSH 在 Windows 10 上处理它。不幸的是,这里的文档假设有很多先验知识,而我绝对是这个主题的初学者。与此同时,我设法使用本地生成的 SSH 证书通过 Git Bash 和 SSH 连接到服务器。
现在我想使用 Yubikey 而不是本地存储在计算机上的证书。不幸的是,所有说明(例如这个https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and- add-it-to-the-ssh-agent#generating-a-new-ssh-key-for-a-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。有趣的是:消息看起来完全一样,我是否插入了 Yubikey 无关紧要。与 ecdsa-sk 的尝试导致相同的结果。
(顺便说一句。我已经在 Yubikey 上成功存储了 OpenPGP 证书。)
现在我还阅读了一些关于 libfido2 的内容,但是我找不到任何关于如何在 Windows 10 上使用它的说明。
所以我的问题是:我如何设法使用我的 Yubikey 而不是我的本地密钥?或者:如果这是问题,我该如何安装 libfido2?