web-dev-qa-db-ja.com

複数のサーバー用にセットアップするSSH秘密鍵はいくつですか?

一般的なプロセスは、公開鍵と秘密鍵のペアを生成し、SSH接続のために公開鍵をサーバーにアップロードすることです。

次に、大量のサーバーを管理する必要がある場合、次のことを行う必要があります。

  1. その公開鍵をすべてのサーバーで再利用しますか?

OR

  1. これらのサーバーごとに異なるキーペアを生成します。

個人的には、セキュリティの観点からは、最初の選択肢で十分だと思います。私は正しいですか?

ありがとう。

3
Shiji.J

一般的な答えは、ログインするすべてのサーバー/アカウントに同じ個人公開鍵を配置することをお勧めします。すべての実用的な目的のために、対応する公開半分から秘密鍵を導出することは多かれ少なかれ不可能です。

次に、潜在的な例外がたくさんあります。

  • 通常は秘密鍵のパスフレーズを保護しておくことをお勧めしますが、特定の自動化されたタスクの実行中は実行が困難になる可能性があります。そのために、暗号化されていない秘密鍵とは別の鍵ペアを用意して、特定の(できれば制限されている)アカウントに使用することもできます。

  • ほとんどの場合、十分に最新のサーバーに接続していると仮定すると、個人のsshキーはed25519の種類である可能性があります。その場合、互換性の理由から、古いバージョンのOpenSSHを実行しているサーバーにログインできるようにするために、RSAの種類のセカンダリキーペアも必要になる場合があります。そのような場合を除いて、RSAを最後まで実行するのにおそらく十分です。

  • Sshエージェント転送を頻繁に使用する場合、個別のキーペアを使用することには理論上の利点があり、悪意のあるサーバーが与える可能性のある損害を制限します。これが実際にはすぐに厄介になると私が想像することを除いて。おそらく、エージェントの転送を避けたほうがよいでしょう。

4
andol