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 に戻します

関連情報