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


21

SSHキー認証について読んで、自宅の3台のコンピューターでセットアップしました。

メインコンピューターが1台あり、それを「A」と呼び、他の2台を「B」と「C」と呼んでいます。

今私が読んだドキュメントに基づいて、私はBとCでssh-keygenを実行し、BまたはCにいる場合は常にコンピュータAにSSHすると仮定して、コンピュータAに公開鍵を配置します

しかし、私が読んだドキュメントの例では、1台のホームコンピューターのみを使用し、他の外部コンピューターを使用することを想定しています。私の状況では、1台のコンピューターでssh-keygenを実行し、他のコンピューターにファイルをコピーするだけの意味がありますか?この方法で、1セットのキーのみをバックアップする必要がありますか?また、外部のコンピューターにログインするときは、3つのコンピューターすべてでセットアップするのではなく、1セットのキーでセットアップするだけで済みます。

これは理にかなっていますか?考慮すべき欠陥や注意事項はありますか?

ありがとう。

回答:


29

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

実際に作成できるキーは1つだけで、「自分のもの」(個人として)であると言い、どこかで安全にして、使用する任意のコンピューターにコピーします。利点は、SSH秘密鍵を持っている限り、どこからでもAに接続できることです。欠点は、秘密鍵をある場所から別の場所にコピーする限り、どのような方法であれ、接続を盗聴する誰かによって読み取られるリスクが高くなることです。さらに悪いことに、コンピューターCが盗まれた場合、このキーを使用するすべてのコンピューターで新しいキーを再生成し、新しいキーを配布する必要があります。

一方、user @ computerごとに1つのキーを使用すると、「何」が「どこ」に接続できるかよりも「きめ細かく」制御できるという利点があります。これが最も一般的な方法です。

たとえば、コンピュータCを兄弟/姉妹/妻/夫/友人/犬、または泥棒(あなたの承認なし)に渡す場合、Aの '' authorized_keys ''からキーを削除するだけです。ファイル。

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


クライアントの秘密鍵を使用してsshストリームを復号化することはできません。また、サーバーの設定によっては、サーバーの秘密鍵を使用してそれを復号化することもできません。 zurlinux.com/?p=1772
ダンメリラット

そうです、それは私が意図したものではありません。秘密鍵が盗まれた場合、それを使用してどこからでもコンピューターAに接続できます。これは、authorized_keys行の先頭にFROM = "<IP>"を追加することで軽減できます。(sshのマニュアルページを参照)
mveroone

それをコピーした後、他のコンピューターで使用するためにパスワードを挿入する必要がありました。少なくともそれはいくつかのセキュリティだと思います:)
OZZIE

3

3台すべてのコンピューターで同じキーを使用することは間違いなく実行可能です。主に利便性のために、常に使用しています。

Kwaioは、これによりキーが危険にさらされるリスクが高まることを正しく指摘しています。可能な解決策の1つは、秘密鍵コンポーネントと公開鍵コンポーネントを分離することです。そう:

  • すべてのコンピューターのauthorized_keysファイルに公開キーがあります。
  • 秘密鍵のコピーを2つ保持します。1つは首にあるUSBスティックにあり(sshを使用して別のコンピューターにアクセスする場合に使用)、もう1つはどこかにある金庫のUSBスティックにあります(最初のコピーを紛失した場合に備えて)。

コンピューターの1つが盗まれたり、公開キーが侵害されたりした場合、それは単なる公開キーです。

秘密キーが盗まれたり紛失した場合、すぐに新しいキーペアを生成し、すべてのコンピューターの公開キーを更新するように設定します。

HTH。


2
わかりましたが、HTHとは何ですか?
mikeserv

3
HTH = Hope That Helps。
アランワード

1
秘密鍵をフラッシュドライブに入れた場合、パスフレーズで保護された秘密鍵にするのが賢明であることを指摘するのが賢明でしょう。パスフレーズを毎回入力する必要のInconvienenceは(Linux上のSSHエージェントウィンドウにpagent)剤を使用することによって軽減することができる
mverooneを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.