編集する:下記の回答をご覧ください。私の仮定は間違っています。
~/.ssh/config
私のSSH設定(OS X)に次のものがあるとセキュリティリスクはありますか?
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/my-secret-key.pem
ssh
私が理解したことは、私が入力しているすべてのホストに私のキーを送信することです。そうですか?もしそうなら、これはセキュリティリスクですか?ホストが理論的には、SSH用の私のキーをいくつかの主要なSSHホスト(GitHubなど)に使用しようとすることはできますか?
以下を指定した場合にHostName
のみ、キーがそのホストに送信されるのが正しいと思います。
Host *
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/my-secret-key.pem
これGitHubのSSH設定に関する公式ドキュメント最初の設定を使用することをお勧めします...
ベストアンサー1
SSH確認いいえ秘密鍵をサーバーに送信します。メカニズムは、エンティティが所有するものを使用する計算に基づいています。サーバーは公開鍵に基づいて何かを計算し、クライアントは秘密鍵に基づいて何かを計算します(参照)。この情報セキュリティスタック交換投稿は詳細はこちら)。
どのような場合でも、エージェントにキーを追加するかどうかに関係なく、SSH は成功するまですべてのキーを試みます。プロキシ転送設定がなければ、とにかく便利だとは思わない。仕える人エージェントに追加されたキーを使用する機能。
Host *
HostName github.com
AddKeysToAgent yes
これにより、Hostname
すべてのHost
項目がに設定されますgithub.com
。これは確かにユーザーが望むものではありません(つまり、ssh foo.bar
に接続されていることを意味しますgithub.com
)。特定の構成のみを接続に適用するには、github.com
次のHost
パターンを使用してください。
Host github.com
IdentityFile ~/.ssh/my-secret-key.pem
セキュリティリスクがあるかどうかは、防御するターゲットが誰であるかによって異なります。 SSHキーがパスワードで保護されていて他の人がシステム上のSSHエージェントにアクセスできる場合は、パスワードで保護されたすべてのキーがエージェントに追加されたときにアクセス用に開きます。
しかし、私はこれらの脅威が起こる可能性が低いと言いたいと思います。