yubikey 5 咋设置服务器 ssh 登录使用啊 有没有懂哥

2023-04-18 21:46:48 +08:00
 dadapipi
1934 次点击
所在节点    程序员
15 条回复
commoccoom
2023-04-18 22:10:28 +08:00
yinmin
2023-04-18 22:14:39 +08:00
sky96111
2023-04-18 22:19:54 +08:00
三种方式,模拟 OpenGPG 使用 gpg-agent ,PIV pkcs11 ,或者 FIDO2 sk-ssh-ed25519
SeaSaltPepper
2023-04-19 00:17:57 +08:00
最简单直接的: 使用 sk-ed25519 (对 openssh 版本有要求)
dadapipi
2023-04-19 16:55:43 +08:00
@commoccoom 老板 还有另外俩种方法的教程吗
dadapipi
2023-04-19 16:56:11 +08:00
@SeaSaltPepper 是的 升级版本很麻烦 还要装 telnet 巴拉拉的
dadapipi
2023-04-19 16:56:34 +08:00
@sky96111 PIV pkcs11 这个我好像一个教程没看见
baobao1270
2023-04-19 17:54:49 +08:00
如果你用的 Linux/macOS ,推荐使用 GPG Agent 方法。
Windows 也可以用,但是需要第三方软件(好像是 https://github.com/NZSmartie/npiperelay 这个,记不太清了)才能同时兼容 Git Bash + WSL + cmd
首先创建一个为 authentication 的 GPG 密钥并把私钥写入 YubiKey ,然后重启 GPG Agent ,配置 SSH_AUTH_SOCK 环境变量为 ~/.gnupg/S.gpg-agent.ssh
sky96111
2023-04-20 08:02:58 +08:00
@dadapipi
https://developers.yubico.com/PIV/Guides/SSH_with_PIV_and_PKCS11.html
用 Yubikey Manager 生成 PIV 证书,安装 yubico-piv-too 这个软件包,这个包会提供 libykcs11.so (如果是 Windows ,找安装目录下的另一个 dll)。
ssh-add -s /usr/lib/libykcs11.so 并输入密码即可添加私钥到 ssh-agent
dadapipi
2023-04-20 11:20:12 +08:00
@baobao1270 感谢 感谢 昨天已经把 FIDO2 搞明白了 唯一不足的就是 ssh -V 版本要大于 8.0 升级版本还有风险!
dadapipi
2023-04-20 11:20:25 +08:00
@sky96111 感谢老板!
baobao1270
2023-04-20 11:48:18 +08:00
@dadapipi 啊?
GPG Agent 方式不需要大于 8.0
只有 sk-* 方式需要大于 8.1
dadapipi
2023-04-20 18:15:54 +08:00
@baobao1270 我也是摸索的在写教程 昨天就写了个 FDIO2 然后 SSH 版本必须要大于 8.0 https://www.uquq.cn/1897

然后你说的这个 你简单说说 我脑子也转不过来 我也不知道怎么玩
baobao1270
2023-04-20 20:07:23 +08:00
@dadapipi #3 其实说的比较全了,我总结一下:
要实现「使用 YubiKey 登陆 SSH 」,有三种方案,任选一种即可

A:PIV 模式,又叫智能卡模式,这个我不熟悉。

B:SSH 模式,需要 OpenSSH 8.1 以上,而且需要服务端支持。这个也就是你 #13 链接里发的教程里写的方式。我当时有一个服务器不支持,所以没有使用这个方式。

C:GPG 模式,就是我在 #8 说的方法。
dadapipi
2023-04-21 17:33:12 +08:00
@baobao1270 A C 我都看得头大 我又研究了个 OTP 已经写在博客了 哈哈哈 那就是有四种方式了 AC 感觉。。。好复杂 都找不到例子

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/933573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX