我有一个 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