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