如何设置 SSH/PuTTY 以使用 Yubikey OpenPGP 身份验证?

如何设置 SSH/PuTTY 以使用 Yubikey OpenPGP 身份验证?

我想使用 YubiKey 的 OpenPGP 接口来认证我自己在 Windows 10 上针对我的 OpenSSH 服务器进行测试:

  • 我根据以下创建了密钥
    gpg --card-status
    
      Reader ...........: Yubico Yubikey 4 OTP U2F CCID 0
      Application ID ...: BEEFBEEFBEEFBEEFBEEFBEEF99990000
      Version ..........: 2.1
      Manufacturer .....: Yubico
      Serial number ....: 99999999
      Name of cardholder: John Doe
      Language prefs ...: en
      Sex ..............: male
      URL of public key : https://example.com/pgp.asc
      Login data .......: johndoe
      Signature PIN ....: required
      Key attributes ...: rsa4096 rsa4096 rsa4096
      Max. PIN lengths .: 127 127 127
      PIN retry counter : 3 3 3
      Signature counter : 39
      Signature key ....: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0001
            created ....: 2017-11-20 00:00:01
      Encryption key....: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0002
            created ....: 2017-11-20 00:00:02
      Authentication key: BEEF BEEF BEEF BEEF BEEF  BEEF BEEF BEEF BEEF 0003
            created ....: 2017-11-20 00:00:03
      General key info..: pub  rsa4096/BEEFBEEFBEEF0001 2017-11-20 John Doe <[email protected]>
      sec>  rsa4096/BEEFBEEFBEEF0001  created: 2017-11-20  expires: never
                                      Cardnumber:BEEF BEEF9999
      ssb>  rsa4096/BEEFBEEFBEEF0002  created: 2017-11-20  expires: never
                                      Cardnumber:BEEF BEEF9999
      ssb>  rsa4096/BEEFBEEFBEEF0003  created: 2017-11-20  expires: never
                                      Cardnumber:BEEF BEEF9999
    
  • PuTTY 应该按照文档,因为我提取了公钥[如下],重新插入了YubiKey,然后重新启动gpg-agent,但是SSH登录失败:
    gpg --export-ssh-key BEEF0003
    
      ssh-rsa [...] openpgp:0xBEEF0003
    


我找到了另一个教程关于如何使用 YubiKey 进行 SSH 身份验证,以及如何按照 McQueen Labs 的方式进行设置推荐,但这也不起作用:

  • 没有提示输入卡密码,这让我认为这种 SSH 身份验证不是通过 PKE 完成的 [不太可能],或者缺少配置选项,因为我收到了错误:
    No supported authentication methods available (server sent: publickey)
    


如何设置 PuTTY 以使用 YubiKey OpenPGP 身份验证,以及在服务器端进行什么配置?

答案1

我的 YubiKey 5 NFC 也遇到了同样的问题,似乎 PuTTY 无法读取配置或pubring文件:

  • 更改 Windows 10 上的主目录gpg解决了问题:
    从:%APPDATA%\gnupg\到:%HOMEPATH%\gnupg\
    • 检查gpg主目录:gpg --version
    • 更改主目录:GNUPGHOME在新的主目录中创建环境变量

答案2

我写了一个关于使用 Yubikeys 和 PGP 密钥通过 SSH 从 Windows 登录 Linux 的教程,希望它能帮助那些和我一样困惑的人:https://horugame.com/sign-in-to-linux-from-windows-via-yubikey/

相关内容