SSH トランスポート層プロトコル仕様、http://www.ietf.org/rfc/rfc4253.txt、セクション「4.2. プロトコル バージョン交換」では、「接続が確立されたら、両側で識別情報を送信する必要があります」と記載されています。ストリング。"。
しかし、サーバー側またはクライアント側のどちらがこのプロセスを開始するかを定義していませんか?
ここにいくつかの観察があります、
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_12-4/124_ssh.htmlの「図 2: SSH トランスポート層プロトコル パケット交換」では、クライアント側が交換プロセスを開始します。
サーバーに接続するクライアントとしてJSCHを使用してみました。これがスナップショットです。サーバー側は SSH プロトコルのバージョンを最初に送信します。
ここに 1 つの問題があります。JSCH サーバーと SSH サーバーの両方がプロトコル バージョンを送信しません。TCP 接続はパッケージ 93、94、95 でセットアップされます。そして 5 秒後、サーバー側はパッケージ 99 で接続を閉じます。
クライアントとサーバーの両方がプロトコルバージョンを送信しない理由を理解するのを手伝ってもらえますか? どうもありがとう!
よろしく、ジョーイ