PuTTYを使用して新しいホストに接続すると、警告が表示されることがよくあります。
サーバーのホスト キーが、PuTTY がレジストリにキャッシュしたキーと一致しません。
押すと
はい
PuTTY はサーバーの RSA キーを Windows 10 のレジストリに追加するので、リモート サーバーにログインできるようになり、警告は再び表示されなくなります。
RSA キーは公開キーと秘密キーの両方のペアで提供されることは知っています。私が理解しようとしているのは、サーバーがローカル マシンに保存したキーがどれかということです。サーバーの公開キーだと思います。
また、PuTTY がサーバーに最初の SSH 接続を行ったとき、サーバーはどのキーを転送するかをどのように決定するのでしょうか? サーバーに公開キーのリストがあると仮定すると、接続を試行するクライアントに汎用キーはあるのでしょうか?
この汎用キーはサーバーのどこに保存されますか/root/.ssh/ authorized_keys
?
答え1
一般的に、
警告 - 潜在的なセキュリティ侵害!
サーバーのホスト キーが、PuTTY がレジストリにキャッシュしたキーと一致しません。
それは、MITM攻撃。
PuTTYのドキュメントも参照してください。警告 - 潜在的なセキュリティ侵害!(質問の中で何らかの理由で省略されたメッセージの主要部分は何ですか)。
このメッセージは、新しいサーバー。もちろん、新しいサーバーが、廃棄されたサーバーの IP アドレス/ホスト名を再利用しない限りは。その場合は、警告を無視しても問題ありません。
それはもちろん、公共PuTTYによってキャッシュされるキー。プライベートキーは秘密であり、サーバー管理者以外はアクセスできないようにする必要があります。そのため、SSHクライアント入手できます。
サーバーは、異なるアルゴリズムに対して複数のキー ペアを持つことができます (RSA、DSA、ECDSA、ED25519 など、アルゴリズムごとに 1 つ)。クライアントとサーバーは、使用する最適なアルゴリズム (サーバーとクライアントの両方でサポートされているアルゴリズムのうち最適なもの) について合意します。
キー ペアは通常/etc/ssh
、(OpenSSH を使用した Linux の場合) に保存されます。
ただし、質問の文言から、サーバー/ホスト キー ペアと、サーバーへの認証に使用するキー ペアを混同している可能性があることが示唆されています。
見る私の記事SSHキーペアの理解。
答え2
RSAキーは公開キーと秘密キーのペアで提供されることは知っていますが、私が理解しようとしているのは、サーバーがローカルマシンに保存したキーはどれかということです。サーバーの公開キーだと思います。
はい、PuTTY はサーバーの公開キーのサムプリントを保存します。保存されているすべてのキーは、レジストリのキーの下に表示されます。HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
また、PuTTY がサーバーに最初の SSH 接続を行ったとき、サーバーはどのキーを転送するかをどのように決定するのでしょうか? サーバーに公開キーのリストがあると仮定すると、接続しようとしているクライアント用の汎用キーはありますか? また、この汎用キーはサーバーのどこに保存されますか?
サーバーは、鍵の種類(RSA、DSAなど)ごとに1つのホスト鍵のみを持ちます。保存場所は設定によって異なりますが、たとえばUbuntuシステムのデフォルトでは、通常は次の場所に保存されます。/etc/ssh
答え3
MITM攻撃やその他のセキュリティ侵害ではないことが確実な場合は、plink
次のようにしてキーを更新することができます。
plink [email protected]
プロンプトが表示されます警告 - 潜在的なセキュリティ侵害!メッセージが表示され、キャッシュされたキーを更新するオプションが提供されます。Windows レジストリを自分でいじる必要はありません...
答え4
次のコマンドを実行します
ssh -T[メールアドレス]
次のような警告メッセージが表示され、known_hostsファイルから問題のあるキーを削除します。
警告: 'github.com' の ECDSA ホスト キーは、IP アドレス '140.82.112.4' のキーと異なります
- ~/.ssh/known_hosts:11 の IP に違反するキー
- ~/.ssh/known_hosts:15 内の一致するホスト キー
- 本当に接続を続行しますか? (はい/いいえ)
注記:
- 問題のあるキーがすべて削除されるまで繰り返します。
- Pageant (PuTTY 認証エージェント) を再起動する必要がある場合があります
参照:https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/