SSHは、新しいキーが生成される前に(暗号化された/プレーンな)パケットを交換するためにどのフォーマットを使用しますか? SSH Documentは、鍵交換後、クライアントとサーバーは交渉されたアルゴリズムを使用してパケットを暗号化すると述べています。鍵交換の前でも暗号化されている場合は、どの鍵を使用してパケットを暗号化します。
SSH 2では、キー交換は Diffie-Hellman キー交換を使用して行われます。ウィキペディアのページ(リンク)で最もよく説明されています。また、Wikipediaのページには、重要な詳細を含むドキュメント(RFC)へのリンクがたくさんあります。 Diffie-Hellmanの詳細を調べるには、WikipediaまたはGoogleがおそらく最適です。
クールな実験として、 Wireshark をダウンロードし、SSHセッションを記録して、どのように機能するかを確認できます。
これは、SSH-2セッション(の一部)のWiresharkキャプチャです。これは全体像ではありませんが、鍵の交換を示しています。後続のパケットは直後に暗号化されます。
SSHは PuTTY で実行できます
明確にするために:キー交換は暗号化されていませんが、70年代の2つのヒッピーによって発明された非常に巧妙な方法で行われます。