去年我买了个 Yubikey 4, 想开始提升个人信息安全水平. 结果发现根本不是那么一回事, 我主要在 Windows 10 上工作(配合 WSL), 其中最需要提升安全性的就是 SSH 和 GPG, GPG 还好, SSH 简直是噩梦. Windows 上各工各样的 SSH 客户端, 想配合 Yubikey 工作非常麻烦, 想在 WSL 里用 Yubikey 也非常麻烦. 所以我造了个轮子: WinCrypt SSH Agent( https://github.com/buptczq/WinCryptSSHAgent)
这个项目基于 Windows 提供的证书管理系统, 不需要安装任何驱动就能够访问智能卡上的证书(Yubikey 需要工作在 PIV 模式). 同时, 这个项目实现了 Windows 上各种各样 SSH 客户端的私有 Agent 协议, 当 SSH 认证时, 客户端将信息发给这个 Agent, 这个 Agent 会通过 Windows 提供的 API 对信息进行签名, 完成认证.
目前兼容的 SSH 客户端有:
欢迎 Star, PR, Issue
1
Cu635 2019-05-20 01:03:29 +08:00
去年买 yubikey4 ?去年应该买 yubikey5 了吧?
|
2
agagega 2019-05-20 01:26:02 +08:00 via iPad
其实我希望整个 gpg 都能有一个 gui,插上 yubikey 能直接在 gui 里加解密签名啥的…
|
3
Tink 2019-05-20 01:50:14 +08:00 via iPhone
马一下,现在 yubikey 纯粹用来做 web,认证了...
|
4
imnpc 2019-05-20 08:34:47 +08:00
持有 2 个 yubikey5 一个飞天的 主要用来做 WEB 认证 已经参照国外开源资料完成了 TOTP U2F WebAuthn 认证
yubikey5 换可以作为 macOS 登录认证设备 |
5
swchzq OP |
6
zwy100e72 2019-05-20 11:13:03 +08:00
尝试了下,启动报错如下:
open \\.\pipe\openssh-ssh-agent: Access is denied. 另外我想问下,Yubikey PIV 验证证书是可以随便生成的吗,如果我后悔了想换新证书,这里会不会有什么限制? |
7
hljjhb 2019-05-20 12:44:22 +08:00 via Android
赞 解决了一大痛点
|
8
yushiro 2019-05-20 17:58:41 +08:00 via iPhone
需要一直插在 usb 上用吗?还是像 putty 的 agent,会缓存 key,第二次用的时候,不需要硬件 key 插在电脑上?
|
10
swchzq OP |
11
swchzq OP @zwy100e72 PIV 的证书可以随便生成, 生成完用 ssh-add -L 就可以看到你的公钥, 可以随时换证书, 但是如果你害怕丢了 Yubikey 可以先用 OpenSSL 之类的生成好证书备份妥善之后再导入 Yubikey
|
12
zwy100e72 2019-05-20 23:14:22 +08:00 via iPhone
谢谢。我一直以为 这个 agent 是消费者,没想到其实是生产者;关于证书这部分,其实公司开发环境都是弱密码登陆的,用 yubikey 单纯图个方便
|
13
zwy100e72 2019-05-23 11:48:52 +08:00
终于配置好了。参考了多个地方,生成证书这块有 handbook 可以看,证书生成好之后需要导入到用户证书管理中才行。剩下的就是点击右键菜单,给各种环境配置 agent
|
15
zwy100e72 2019-05-23 18:36:23 +08:00 via iPhone
@swchzq 用的是 yubikey,但是不把证书加载到用户证书中的话 agent 不请求 PIN,ssh-add -L 也没有结果
|
16
swchzq OP @zwy100e72 奇怪...正常来说插入 yubikey 后系统应该会自动加载里面的证书...你是用 rsa 还是 ecc 的证书, windows 默认不会枚举 ecc 的证书, rsa 应该没问题, 我试过几台电脑都不用自己加证书
|
17
zwy100e72 2019-05-23 21:50:48 +08:00 via iPhone
@swchzq 我用了一天感觉右下角弹窗太吵了...工作时间不方便弄,能不能麻烦你留一下需要收集啥,我回家后验证下
|
18
zwy100e72 2019-05-23 21:52:19 +08:00 via iPhone
是 rsa 证书吧,我证书上有 PIN 保护,不知道这个有没有影响
|
19
zwy100e72 2019-05-29 22:31:14 +08:00
一周过去了。WSL / CLion / Git Bash / Windows SSH / Visual Studio Code 等场景配置了一圈,楼主写的这个工具真的是太好用了。楼主愿意的话留个捐款方式,我请你喝两杯咖啡。
|
21
commoccoom 2019-10-09 11:18:02 +08:00
有在 Windows 上使用 Yubikey 配置 SSH 登录的教程吗?网上教程大多都是基于 Linux 或者 Mac 的
|
22
swchzq OP @commoccoom emmmm, 网上好像比较少, 有空我写个
|
23
swchzq OP |
24
commoccoom 2019-10-09 15:55:12 +08:00
@swchzq 非常感谢!!!
|