SSHサーバーに接続し、そのキーフィンガープリントを取得してすぐに切断した場合、SSHプロトコルは、サーバーが秘密鍵を持っていることを確認して、それをハンドシェイクに到達させますか?
つまり、この接続全体が、サーバーを装った誰かによって偽装された可能性がありますが、サーバーの秘密キーを所有していませんでしたか?
クライアントとサーバーは、Diffie-Hellman鍵交換を行います(一時鍵が生成されます)。製品の1つは、セッションキーとそのセッションキーのハッシュです。 sshサーバーは、その(「長期」)ホストキーのプライベート部分を使用してセッションキーに署名します。クライアントはそれを公開鍵で検証します。これがMITMを回避する方法です。 DHを使用して特定の値を強制することはできないことに注意してください。 MITMは、独自のDH契約でクライアントをだます必要があります。また、独自のDH合意でサーバーをだます必要があります。それは秘密鍵の制御なしでは起こり得ない。これはサーバー認証であり、クライアント認証とは別のものです。