我在使用 Windows 上的 OpenSSH 将带有用户证书的私钥添加到 时遇到问题ssh-agent
。当我尝试使用 添加密钥ssh-add testkey
并且此密钥还有一个可用的用户证书(如 )时testkey-cert.pub
,只有证书被添加到ssh-agent
。
重现步骤:
- 创建新的 RSA 密钥对
ssh-keygen -f testkey
- 创建用于签名测试密钥的 CA 密钥对
ssh-keygen -f ca
- 签署测试密钥
ssh-keygen -s ca -I testkey testkey.pub
- 将测试密钥添加到 SSH 代理
ssh-add testkey
- 列出添加的键以检查结果
ssh-add -l
仅RSA-CERT
被添加到代理。
PS C:> ssh-add testkey
Identity added: testkey (testkey)
Certificate added: testkey-cert.pub (testkey)
PS C:> ssh-add -l
2048 SHA256:vaqqEObTRX5icClKdRsEvyut5G1ug9C8uBjJ1TrCx9w testkey (RSA-CERT)
当我在 Linux 上执行这些步骤时,RSA 密钥和证书均已添加
$ ssh-add test
Identity added: test (test)
Certificate added: test-cert.pub (id_rsa)
$ ssh-add -l
2048 SHA256:3bhXQ3lSdSejjvecm2XtMBa46XiyqFaC70pLibgILMo test (RSA)
2048 SHA256:3bhXQ3lSdSejjvecm2XtMBa46XiyqFaC70pLibgILMo test (RSA-CERT)
这是 Windows 的 OpenSSH 客户端的问题吗?
感谢你并致以真诚的问候
答案1
做一些巫术:我偶然遇到了同样的问题。
我的解决方案:将证书移出文件夹 ssh-add private_key 将证书移回 .ssh