複数のコンピュータでSSHキーを認証する

複数のコンピュータでSSHキーを認証する

SSH 鍵認証について読んで自宅のコンピューター 3 台に設定しています。

私は「A」と呼ばれるメインコンピュータの1台と、「B」と「C」という2つの異なるコンピュータを持っています。

今私が読んだ文書によると、BとCでssh-keygenを実行し、コンピュータAに公開鍵を入れます。このとき、常にSSHを介してコンピュータAに接続されているとします。 BまたはC)。

しかし、私が読んだドキュメントの例では、他の外部コンピュータで使用される家庭用コンピュータが1つしかないとします。私の場合、あるシステムでssh-keygenを実行してファイルを別のシステムにコピーするのは妥当ですか?それでは、キーセットを1つだけバックアップできますか?外部コンピュータにログインするときは、3台のコンピュータをすべて使用するのではなく、1つのキーセットに設定するだけです。

これは言う?考慮すべき落とし穴や注意事項はありますか?

ありがとうございます。

答え1

理論的には両方の方法が可能ですが、それぞれ長所と短所があります。

実際には鍵を生成して(個人として)「あなたのもの」と言い、どこかにセキュリティを設定して使用するコンピュータにコピーするだけです。利点は、SSH秘密鍵があればどこでもAに接続できることです。欠点は、いずれかの方法で秘密鍵をある場所から別の場所にコピーするたびに、接続を盗聴する人がそれを読むリスクが高くなることです。さらに悪いことに、コンピュータCが盗まれた場合は、そのキーを使用するすべてのコンピュータで新しいキーを再生成し、新しいキーを配布する必要があります。

一方、ユーザー@コンピュータごとに1つのキーを使用すると、「何」が「どこ」に接続できるかについての「細かい制御」がさらに可能になるという利点があります。これが最も一般的なアプローチです。

たとえば、コンピュータCを兄弟/姉妹/妻/夫/友人/犬または泥棒に(承認なしで)提供したい場合は、単にAの「authorized_keys」Documentableからキーを削除するだけです。

したがって、「authorized_keys にもっとキーがある」という意味でも、2 番目のアプローチをお勧めします。

答え2

3台のコンピュータすべてで同じキーを使用することは確かに可能です。私は主に便宜のために常にそうします。

クワイオは、これが鍵の盗難のリスクを高めることを正確に指摘した。 1つの可能な解決策は、秘密鍵部分と公開鍵部分を分離することである。だから:

  • すべてのコンピュータはAuthorized_keysファイルに公開鍵を持っています。
  • 秘密鍵のコピーを2つ保管してください。 1つは首に掛けているUSBスティック(他のコンピュータにSSHで接続するときに使用)に、もう1つは安全な場所に(紛失した場合に備えて)USBスティックに保管します。

コンピュータの1つが盗まれた場合、または公開鍵が破損している場合、これは公開鍵であるため、どうなりますか?

秘密鍵が盗まれたり紛失した場合は、すぐに新しい鍵ペアの作成を開始し、すべてのコンピュータで公開鍵を更新する必要があります。

HTH。

関連情報