SSH2のログインシーケンス クライアント サーバ (TTSSH) (OpenSSH) TCP/22接続 バージョン情報交換 SSH-1.99-OpenSSH_4.3p2 Debian-9\n SSH-2.0-TTSSH/2.46 Win32\n キー交換開始 SSH2_MSG_KEXINIT SSH2_MSG_KEXINIT DH(Diffie-Hellman)鍵 の生成 SSH2_MSG_KEX_DH_GEX_REQUEST SSH2_MSG_KEX_DH_GEX_GROUP SSH2_MSG_KEX_DH_GEX_INIT “known_hosts”チェッ ク SSH2_MSG_KEX_DH_GEX_REPLY SSH2_MSG_NEWKEYS DH鍵生成終了 SSH2_MSG_NEWKEYS SSH2_MSG_SERVICE_REQUEST ユーザ認証開始 SSH2_MSG_SERVICE_ACCEPT これ以降はパケットがDH鍵(共通鍵)で 暗号化されるため、パケットキャプチャ 不可となる。 SSH2のログインシーケンス(続き) 認証リストの要求 “none”メソッド クライアント サーバ (TTSSH) (OpenSSH) SSH2_MSG_USERAUTH_REQUEST SSH2_MSG_USERAUTH_FAILURE ユーザ名とパスワード を送信 認証成功 セッションオープン “session” SSH2_MSG_USERAUTH_REQUEST SSH2_MSG_USERAUTH_SUCCESS CheckAuthListFirstが有効なとき (無効なときは、クライアントはユーザ操作による 認証失敗により認証リストを得られる) 認証リストの送信。 “failure”を返すがサーバには ログは残らない。 SSH2_MSG_CHANNEL_OPEN password認証の場合 SSH2_MSG_CHANNEL_OPEN_CONFIRMATION エージェント転送 "[email protected]" シェルリクエスト “pty-req” SSSH2_MSG_CHANNEL_REQUEST SSH2_MSG_CHANNEL_SUCCESS SSH2_MSG_CHANNEL_REQUEST ForwardAgentが有効なとき SSH2_MSG_CHANNEL_SUCCESS シェルオープン “shell” SSH2_MSG_CHANNEL_REQUEST SSH2_MSG_CHANNEL_WINDOW_ADJUST TeraTerm本体へ渡 す。TeraTerm見えに は、recv()が返ったよ うに見える。 SSHサーバのウィンドウサイ ズを送る SSH2_MSG_CHANNEL_SUCCESS シェル情報を送る SSH2_MSG_CHANNEL_DATA SSH2の切断シーケンス シェル上でログアウト する クライアント サーバ (TTSSH) (OpenSSH) SSH2_MSG_CHANNEL_DATA SSH2_MSG_CHANNEL_REQUEST SSH2_MSG_CHANNEL_EOF TCPセッションのク ローズ処理を行う。 TeraTerm本体へ終 了の通知を出す。 SSH2_MSG_CHANNEL_CLOSE SSH2_MSG_DISCONNECT
© Copyright 2024 ExpyDoc