如何让 ssh 发送存储在智能卡上的密钥的证书

如何让 ssh 发送存储在智能卡上的密钥的证书

我有一个 gpg 密钥,我通过智能卡 (yubikey neo) 使用它来 ssh 到许多主机。其中一些主机使用证书和密钥来授权登录。对于本地存储的普通密钥,涉及三个文件:

  • id_rsa
  • id_rsa.pub
  • id_rsa-证书.pub

我通过指定私钥文件使 ssh 一起使用 .pub 和 -cert.pub 文件进行身份验证-i ~/.ssh/id_rsa。这使其提供公钥和证书。如下所示:

debug1: Authentications that can continue: publickey
debug1: Offering RSA-CERT public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg [email protected] blen 1086
debug1: ssh_rsa_verify: signature correct

当私钥存储在智能卡上时,没有这样的文件可提供,并且即使提供了由证书签名的 RSA 密钥,也不会发送证书:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: cardno:000XXXXXXX2

由于缺少签名而被拒绝。

答案1

如果您想使用 yubikey NEO 向远程服务器验证您的身份,那么 yubico 有一个直接可用的简单工具和操作方法:

https://developers.yubico.com/yubico-piv-tool/SSH_with_PIV_and_PKCS11.html

相关内容