又买了个 Yubikey, 为了不亏, 造了个轮子 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
swchzq
V2EX    YubiKey

又买了个 Yubikey, 为了不亏, 造了个轮子

  •  
  •   swchzq 2019-05-19 23:31:07 +08:00 11424 次点击
    这是一个创建于 2402 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年我买了个 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 客户端有:

    • Git for Windows
    • Windows Subsystem for Linux
    • Windows OpenSSH
    • Putty
    • Jetbrains
    • SecureCRT
    • XShell
    • Cygwin
    • MINGW
    • ...

    欢迎 Star, PR, Issue

    项目地址: https://github.com/buptczq/WinCryptSSHAgent

    24 条回复    2019-10-09 15:55:12 +08:00
    Cu635
        1
    Cu635  
       2019-05-20 01:03:29 +08:00
    去年买 yubikey4 ?去年应该买 yubikey5 了吧?
    agagega
        2
    agagega  
       2019-05-20 01:26:02 +08:00 via iPad
    其实我希望整个 gpg 都能有一个 gui,插上 yubikey 能直接在 gui 里加解密签名啥的…
    Tink
        3
    Tink  
    PRO
       2019-05-20 01:50:14 +08:00 via iPhone
    马一下,现在 yubikey 纯粹用来做 web,认证了...
    imnpc
        4
    imnpc  
       2019-05-20 08:34:47 +08:00
    持有 2 个 yubikey5 一个飞天的 主要用来做 WEB 认证 已经参照国外开源资料完成了 TOTP U2F WebAuthn 认证
    yubikey5 换可以作为 macOS 登录认证设备
    swchzq
        5
    swchzq  
    OP
       2019-05-20 10:06:32 +08:00
    @Cu635 当时还没出 5 代, 贼后悔, 今年又买了个 Yubikey 5

    @agagega gpg 不是有 gui 吗
    zwy100e72
        6
    zwy100e72  
       2019-05-20 11:13:03 +08:00
    尝试了下,启动报错如下:

    open \\.\pipe\openssh-ssh-agent: Access is denied.

    另外我想问下,Yubikey PIV 验证证书是可以随便生成的吗,如果我后悔了想换新证书,这里会不会有什么限制?
    hljjhb
        7
    hljjhb  
       2019-05-20 12:44:22 +08:00 via Android
    赞 解决了一大痛点
    yushiro
        8
    yushiro  
       2019-05-20 17:58:41 +08:00 via iPhone
    需要一直插在 usb 上用吗?还是像 putty 的 agent,会缓存 key,第二次用的时候,不需要硬件 key 插在电脑上?
    Cu635
        9
    Cu635  
       2019-05-20 20:21:31 +08:00
    @swchzq
    那你是去年很早就买了么?我也是去年看的,已经有 5 了。
    swchzq
        10
    swchzq  
    OP
       2019-05-20 22:58:35 +08:00
    @zwy100e72 这个情况可能是你开了其他的 agent 把这个命名管道占用了, 或者是单纯的权限不够

    @yushiro PIV 的私钥不能缓存的, 要是能缓存就不安全了, 每次签名计算都是智能卡计算的, 不是电脑算的

    @Cu635 是啊
    swchzq
        11
    swchzq  
    OP
       2019-05-20 23:00:53 +08:00   1
    @zwy100e72 PIV 的证书可以随便生成, 生成完用 ssh-add -L 就可以看到你的公钥, 可以随时换证书, 但是如果你害怕丢了 Yubikey 可以先用 OpenSSL 之类的生成好证书备份妥善之后再导入 Yubikey
    zwy100e72
        12
    zwy100e72  
       2019-05-20 23:14:22 +08:00 via iPhone
    谢谢。我一直以为 这个 agent 是消费者,没想到其实是生产者;关于证书这部分,其实公司开发环境都是弱密码登陆的,用 yubikey 单纯图个方便
    zwy100e72
        13
    zwy100e72  
       2019-05-23 11:48:52 +08:00
    终于配置好了。参考了多个地方,生成证书这块有 handbook 可以看,证书生成好之后需要导入到用户证书管理中才行。剩下的就是点击右键菜单,给各种环境配置 agent
    swchzq
        14
    swchzq  
    OP
       2019-05-23 14:52:04 +08:00
    @zwy100e72 不是用 yubikey 吗? 用的是 windows 的用户证书?
    zwy100e72
        15
    zwy100e72  
       2019-05-23 18:36:23 +08:00 via iPhone
    @swchzq 用的是 yubikey,但是不把证书加载到用户证书中的话 agent 不请求 PIN,ssh-add -L 也没有结果
    swchzq
        16
    swchzq  
    OP
       2019-05-23 18:52:52 +08:00
    @zwy100e72 奇怪...正常来说插入 yubikey 后系统应该会自动加载里面的证书...你是用 rsa 还是 ecc 的证书, windows 默认不会枚举 ecc 的证书, rsa 应该没问题, 我试过几台电脑都不用自己加证书
    zwy100e72
        17
    zwy100e72  
       2019-05-23 21:50:48 +08:00 via iPhone
    @swchzq 我用了一天感觉右下角弹窗太吵了...工作时间不方便弄,能不能麻烦你留一下需要收集啥,我回家后验证下
    zwy100e72
        18
    zwy100e72  
       2019-05-23 21:52:19 +08:00 via iPhone
    是 rsa 证书吧,我证书上有 PIN 保护,不知道这个有没有影响
    zwy100e72
        19
    zwy100e72  
       2019-05-29 22:31:14 +08:00
    一周过去了。WSL / CLion / Git Bash / Windows SSH / Visual Studio Code 等场景配置了一圈,楼主写的这个工具真的是太好用了。楼主愿意的话留个捐款方式,我请你喝两杯咖啡。
    swchzq
        20
    swchzq  
    OP
       2019-05-30 16:39:34 +08:00 via iPhone
    @zwy100e72 哈哈,谢谢,可以邮箱联系我交流交流,我 github 的个人信息里有邮箱
    commoccoom
        21
    commoccoom  
       2019-10-09 11:18:02 +08:00
    有在 Windows 上使用 Yubikey 配置 SSH 登录的教程吗?网上教程大多都是基于 Linux 或者 Mac 的
    swchzq
        22
    swchzq  
    OP
       2019-10-09 13:20:15 +08:00
    @commoccoom emmmm, 网上好像比较少, 有空我写个
    swchzq
        23
    swchzq  
    OP
       2019-10-09 13:55:50 +08:00
    commoccoom
        24
    commoccoom  
       2019-10-09 15:55:12 +08:00
    @swchzq 非常感谢!!!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     849 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 20:54 PVG 04:54 LAX 12:54 JFK 15:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86