web-dev-qa-db-ja.com

CA証明書を使用してSSHサーバーを認証できますか?

SSHサーバーを管理していますが、クライアントが認証を試みたときにそれを検証したいと考えています。私はいくつかのチュートリアルを読みました( buntuでホストとクライアントを検証するためのSSH CAを作成する方法 および OPENSSH CERTIFICATE AUTHENTICATIONの使用 )。どちらも、自己署名CACAを使用してSSHサーバーのパブキーに署名する方法を説明しています。しかし、この場合はすでにGeoTrustからのCA証明書を持っているので、それを使用したいと思います。

ssh_Host_rsa_key.pubファイルに署名するために、通常の手順に従うことは正しいですか?

前もって感謝します。

3
Daniele

あなたが参照しているガイドは、GeoTrustから取得できるようなx509証明書ではなく、OpenSSH証明書について話しています。これらは非常に異なるものです。

OpenSSHメソッドを使用したい場合(私は仕事とプライベートの両方で私が本当に気に入って使用しています。Facebookでもそれを使用しています: https://code.facebook.com/posts/365787980419535/scalable-and-secure -access-with-ssh / )通常のプライベートsshキーを使用してサーバーキーに署名します。この方法を使用するCA証明書はなく、秘密鍵のみです。

Ssh-keygenを使用して新しい鍵ペアを作成し、秘密鍵を秘密にしてください。次に、参照しているガイドに従って、ホストキーに署名します。私もあなたがここで見つけることができるガイドを自分で書きました: https://framkant.org/2016/10/setting-up-a-ssh-certificate-authority-ca/

ホストキーが署名されると、「署名キー」の公開部分を信頼するようにクライアントに伝えることができますが、known_hostsファイルに次のようなものを入れます。

@cert-authority * ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3pcm4IJGw76YKZSrf7pZA6s3Hu9eRzKbyzKPgg5OkBWU9ztUz2e1bXtR0UDqQKuOUx+ZDx6wmR3rVRM/BhYt1oeAv6rhxNRW2XPiakpn3EzuEWlbp68QRY8p+k6gjy7cnvF2uyaP0R0Ov819tTMHkdS3Rn57m7pfFk+tuRKLjJnQN2g6uxT+PBJonTQr2XcS5oAzwjel1x7xLqmz0MMrE98uE0GaZHxf/hioXOHt1ihzTF+GPqZ31ZrR3GIWtFEKtvcroaiS25VIV9W39LfVh7RRZTh8oCrjcEdoeFKUKA1PpqblsJhqg1XU2/xa9CAKb6SHb7gwQ18nUaQ/Sk6qYJMgkwWUtXbwS1RIm1k5QlKk8VD4H10jyqiAUBC8SHfNxnqOwKe275AfOVc/iuh4F2NsrIuHfh8tno5LqWSP63D3gXpXXm/4j3Sop2NqNz6EIqoqj0HPIL21/SneJgWXS7xxV/ShgnLVGB0dsJf8PsCnsVt0s5thO22VvE/IVQ1KM/ac1lEafBeSZsuPiOfcIeZu9mm4DfuoyqaHmnV6yBguW6zb894IdcYXsrVnMy3Hp85gnymEZn/qfPJ+dhNbBAANgjWphz5ZaBKdrpgCESz8Ka9S6V7fXr2ikB21YiUKB7XuoPjDncOokSEHU0p5iMQjE+Le7K3nOTtokhrZjXw==
3
Peter

回答

あなたはCA証明書を所有していると述べます。それが正しい場合は、「認証局証明書」を所有しています。他の証明書への署名が有効な証明書を所有している場合は可能です。

GeoTrustが通常のSSL証明書として発行した証明書を所有している場合、その証明書を使用してSSHサーバー証明書に署名することはできません。所有している証明書の種類の詳細については、GeoTrustからの情報を確認してください。

2番目のケースがある場合は、証明書を変換する可能性がある this および this ソリューションを検討してください。

説明

ケース1ではない可能性があります。これは、(パブリック)クライアントによって信頼された信頼されたルートまたは中間証明書を所有していることを意味します(別名GeoTrustのジョブを実行できます)。これは、(内部オフィスネットワークとして)閉じた環境にいて、認証局を所有している場合にのみ発生する可能性があります。あなたの質問では、あなたはGeoTrustから証明書を取得したと述べているので、2番目のケースに当てはまると思います。
そこで、証明書を正しい形式に変換する必要がある場合があります。リンクをたどって問題が解決するかどうかを確認してください。

これはコメントですが、長すぎます。

あなたの質問を提示する方法から、あなたはsshと証明書を使用して旅の初めにいるようです。はい、sshでx509証明書を使用することは可能ですが、これは非常に難解な設定であり、ここでは深く理解できません。

X509証明書は、所定の形式で提示された所定のメタデータとともに署名された公開鍵です。署名する必要はありません。

次に、キーペアの代わりにクライアントからの証明書を使用するかどうかという問題全体があります。

しかし、これすべての意味は何ですか?キー自体ではなく、証明書のメタデータに対して検証するクライアントはいますか?共有しますか?

0
symcbean