V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dadapipi
V2EX  ›  程序员

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

  •  
  •   dadapipi · 2023-04-18 21:46:48 +08:00 · 2322 次点击
    这是一个创建于 610 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2023-04-21 17:33:12 +08:00
    commoccoom
        1
    commoccoom  
       2023-04-18 22:10:28 +08:00
    sky96111
        3
    sky96111  
       2023-04-18 22:19:54 +08:00   ❤️ 1
    三种方式,模拟 OpenGPG 使用 gpg-agent ,PIV pkcs11 ,或者 FIDO2 sk-ssh-ed25519
    SeaSaltPepper
        4
    SeaSaltPepper  
       2023-04-19 00:17:57 +08:00
    最简单直接的: 使用 sk-ed25519 (对 openssh 版本有要求)
    dadapipi
        5
    dadapipi  
    OP
       2023-04-19 16:55:43 +08:00
    @commoccoom 老板 还有另外俩种方法的教程吗
    dadapipi
        6
    dadapipi  
    OP
       2023-04-19 16:56:11 +08:00
    @SeaSaltPepper 是的 升级版本很麻烦 还要装 telnet 巴拉拉的
    dadapipi
        7
    dadapipi  
    OP
       2023-04-19 16:56:34 +08:00
    @sky96111 PIV pkcs11 这个我好像一个教程没看见
    baobao1270
        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
    sky96111
        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
    dadapipi
        10
    dadapipi  
    OP
       2023-04-20 11:20:12 +08:00
    @baobao1270 感谢 感谢 昨天已经把 FIDO2 搞明白了 唯一不足的就是 ssh -V 版本要大于 8.0 升级版本还有风险!
    dadapipi
        11
    dadapipi  
    OP
       2023-04-20 11:20:25 +08:00
    @sky96111 感谢老板!
    baobao1270
        12
    baobao1270  
       2023-04-20 11:48:18 +08:00   ❤️ 1
    @dadapipi 啊?
    GPG Agent 方式不需要大于 8.0
    只有 sk-* 方式需要大于 8.1
    dadapipi
        13
    dadapipi  
    OP
       2023-04-20 18:15:54 +08:00
    @baobao1270 我也是摸索的在写教程 昨天就写了个 FDIO2 然后 SSH 版本必须要大于 8.0 https://www.uquq.cn/1897

    然后你说的这个 你简单说说 我脑子也转不过来 我也不知道怎么玩
    baobao1270
        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 说的方法。
    dadapipi
        15
    dadapipi  
    OP
       2023-04-21 17:33:12 +08:00
    @baobao1270 A C 我都看得头大 我又研究了个 OTP 已经写在博客了 哈哈哈 那就是有四种方式了 AC 感觉。。。好复杂 都找不到例子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3518 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.