1
commoccoom 2023-04-18 22:10:28 +08:00
|
2
yinmin 2023-04-18 22:14:39 +08:00
|
3
sky96111 2023-04-18 22:19:54 +08:00 1
三种方式,模拟 OpenGPG 使用 gpg-agent ,PIV pkcs11 ,或者 FIDO2 sk-ssh-ed25519
|
4
SeaSaltPepper 2023-04-19 00:17:57 +08:00
最简单直接的: 使用 sk-ed25519 (对 openssh 版本有要求)
|
5
dadapipi OP @commoccoom 老板 还有另外俩种方法的教程吗
|
6
dadapipi OP @SeaSaltPepper 是的 升级版本很麻烦 还要装 telnet 巴拉拉的
|
8
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 |
9
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 |
10
dadapipi OP @baobao1270 感谢 感谢 昨天已经把 FIDO2 搞明白了 唯一不足的就是 ssh -V 版本要大于 8.0 升级版本还有风险!
|
12
baobao1270 2023-04-20 11:48:18 +08:00 1
|
13
dadapipi OP @baobao1270 我也是摸索的在写教程 昨天就写了个 FDIO2 然后 SSH 版本必须要大于 8.0 https://www.uquq.cn/1897
然后你说的这个 你简单说说 我脑子也转不过来 我也不知道怎么玩 |
14
baobao1270 2023-04-20 20:07:23 +08:00 1
@dadapipi #3 其实说的比较全了,我总结一下:
要实现「使用 YubiKey 登陆 SSH 」,有三种方案,任选一种即可 A:PIV 模式,又叫智能卡模式,这个我不熟悉。 B:SSH 模式,需要 OpenSSH 8.1 以上,而且需要服务端支持。这个也就是你 #13 链接里发的教程里写的方式。我当时有一个服务器不支持,所以没有使用这个方式。 C:GPG 模式,就是我在 #8 说的方法。 |
15
dadapipi OP @baobao1270 A C 我都看得头大 我又研究了个 OTP 已经写在博客了 哈哈哈 那就是有四种方式了 AC 感觉。。。好复杂 都找不到例子
|