![如何在两步验证中使用 YubiKeys 和 SSH 密钥?](https://linux22.com/image/106096/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%A4%E6%AD%A5%E9%AA%8C%E8%AF%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20YubiKeys%20%E5%92%8C%20SSH%20%E5%AF%86%E9%92%A5%EF%BC%9F.png)
我可以按照描述设置 SSH 密钥对,无需 Fido U2FSSH 代理无需重新输入即可在多个服务器上工作?一些旗帜?在线程中。两步验证会非常好:私钥密码和 Fido U2F 验证。我不确定我们是否也需要这里的 Fido/YubiKey 服务器,按照线程中的说明Yubico Linux 登录。我的动机是我经常忘记密码,如果在一步验证中使用的话,密码会很长。尽管密码有多长和有多困难,但一步验证本身也很弱。因此,我想在我的 Debian 中使用密钥进行两步验证,因为我认为密钥可以提高很多安全性。
票证已发送至 YubiKey团队2017 年 2 月 22 日
Dear Sir/Madam,
We are thinking how to get 2-step verification with your key and keys in the following thread. Improvements are needed in FIDO U2F and OpenSSH parts. I am thinking how we can push the thing forward with You. Please, say what we can do because the feature request is rather blocked at the moment.
Ticket in OpenSSH part: https://bugzilla.mindrot.org/show_bug.cgi?id=2319
Thread about the feature request: http://unix.stackexchange.com/q/346771/16920
Best regards,
Leo
操作系统:Debian 8.7
硬件:Asus Zenbook UX303UB
门票:第2319章(Jakuje)
Fido U2F 密钥:YubiKey 4
答案1
您不能将 U2F 与 SSH 一起使用。两年前,当 U2F 还很新鲜、很奇特的时候,有人试图实现这一点,但从那以后我就再也没有听说过这件事,也没有任何进展。
如果你真的想要它,你可以使用附加的补丁来修补你的 OpenSSH上游错误,但请注意,即使它经过了不同的人的审查,它也可能存在一些问题。
答案2
事实证明,这现在已经成为可能。这是最近才出现的,有一些限制。
它依赖于libfido2
,允许使用“新”密钥类型ecdsa-sk
(sk 表示安全密钥),并要求服务器也支持此密钥类型。
截至今天早上(2019 年 11 月 1 日),OpenSSH 现已提供实验性 U2F/FIDO 支持,其中 U2F 被添加为新的密钥类型“[电子邮件受保护]”或简称“ecdsa-sk”(“sk”代表“安全密钥”)。 https://marc.info/?l=openssh-unix-dev&m=157259802529972&w=2
此代码已在 OpenSSH 8.2 上发布https://www.openssh.com/txt/release-8.2
答案3
类似开发项目案例支持YubiKey DB解锁用于带有 YubiKeys 的 KeePassX。我认为应该先完成该项目,然后再考虑支持 SSH,因为对于独立应用程序和那里的大量劳动力来说,它应该更容易。
答案4
使用 pam_ssh + pam_yubico 的方法: http://www.ultrabug.fr/hardening-ssh-authentication-using-yubikey-12/
或者:我不确定这是否是您所需要的,但是传送支持U2F
这是开源