当用户证书存在时,Windows 上的 OpenSSH 不会添加私钥

当用户证书存在时,Windows 上的 OpenSSH 不会添加私钥

我在使用 Windows 上的 OpenSSH 将带有用户证书的私钥添加到 时遇到问题ssh-agent。当我尝试使用 添加密钥ssh-add testkey并且此密钥还有一个可用的用户证书(如 )时testkey-cert.pub,只有证书被添加到ssh-agent

重现步骤:

  1. 创建新的 RSA 密钥对ssh-keygen -f testkey
  2. 创建用于签名测试密钥的 CA 密钥对ssh-keygen -f ca
  3. 签署测试密钥ssh-keygen -s ca -I testkey testkey.pub
  4. 将测试密钥添加到 SSH 代理ssh-add testkey
  5. 列出添加的键以检查结果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

相关内容