PuTTY 警告: サーバーのホスト キーが、PuTTY がレジストリにキャッシュしたものと一致しません

PuTTY 警告: サーバーのホスト キーが、PuTTY がレジストリにキャッシュしたものと一致しません

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/

関連情報