SSH:クライアントがプライベートRSAキーをホストしても安全ですか?


10

サーバー(http://www.rebol.com/docs/)で説明されているように、サーバーで公開鍵と秘密鍵のペアを生成し、公開鍵をauthorized_keysリストに追加して、秘密鍵を各クライアントにコピーしても安全ですか? ssh-auto-login.html)各クライアントを永続的に制御していると仮定しますか?(つまり、同じユーザー、多くのコンピューター)。

典型的な手順は、クライアントで公開鍵と秘密鍵のペアを生成し、次にクライアントの公開鍵をサーバーのauthorized_keysリストに追加する方法です(http://www.linuxproblem.org/art_9.html)。この方法では、クライアントコンピューターが複数ある場合、それぞれをauthorized_keysリストに連結し、長期間維持する必要があります。

回答:


22

おめでとうございます。悪いアドバイスのあるインターネットチュートリアルを見つけました。

複数のコンピューターで単一のキーペアを使用する場合の問題は、いずれかのコンピューターが侵害された場合に発生します。次に、どこでもキーペアを無効にし、そのキーペアを使用していたすべてのコンピュータにキーを再設定するしかありません。マシンごとおよびユーザーごとに一意のキーペアを常に使用して、侵害されたキーが与える可能性のある損傷を制限する必要があります。

そのチュートリアルに関しては、サーバーでキーペアを生成し、秘密キーをクライアントにコピーすることは驚くほど悪いアドバイスです。これは完全に逆です。代わりに、キーペアをクライアントで生成し、公開キーをサーバーにコピーする必要があります。これをssh-copy-id正確に実行するヘルパースクリプトもあり、途中ですべての権限が正しいことを確認し、クライアントがサーバーのホストキーなどを取得します。

自動スクリプトなど、ユーザーのIDキーを一元管理したい場合もありますが、この場合は、3番目のホストから、または理想的にはパペットなどの構成管理システムからこれを行う必要があります。


2
さらに、クライアントマシンのユーザーは、秘密キーがどこにあるかわからないため、この特定のキーを他の目的に安全に使用できないことを覚えておく必要があります。秘密鍵がクライアントで生成され、クライアントを離れたことがないことがわかっている場合は、通常、同じ鍵を使用して別のシステムにログインしても安全です。
kasperd 2015年

7
必ず私はかなりそこまで行きたかった共有の針との類似が頭に浮かんだが、私は本当にありませんでした...
マイケル・ハンプトン

どのようにして非対称部分をその類推に取り入れることができるかわかりません。
kasperd 2015年

1
まあ...あなたが針のどちらの端に依存します。
Mircea Vutcovici 2015年

3

そのチュートリアルで説明されているプロトコルの最大の問題は、「秘密鍵をクライアントマシンにダウンロードする」方法を安全​​な方法で指定しないことです(つまり、盗聴を防止します)。安全なチャネルをまだお持ちでない場合、キーはおそらくインターネット(HTTP、FTP、電子メールなど)を介して平文で転送されます。HTTPSを使用できますが、実際の証明書がない場合は、MITMを使用してキーを盗聴できます。本来の方法で実行してください。クライアントマシンでキーペアを生成し、公開鍵をサーバーに転送します。転送中に変更されていないことを確認するために、ファイルのチェックサムを確認することを忘れないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.