SSH2でログアウト時に SSH2_MSG_DISCONNECT(SSH2_DISCONNECT_PROTOCOL_ERROR)
Open Date: 2014-10-01 10:06
Letztes Update: 2014-11-09 20:21
Reporter: | (Anonymous) | Eigentümer: | maya |
---|---|---|---|
Priority: | 5 - Medium | MileStone: | Tera Term 4.85 (closed) |
Type: | Bugs | Severity: | 5 - Medium |
Component: | TTSSH | Status: | Closed |
Resolution | Fixed |
Details
Windows 7上で Teraterm 4.84(TTSSH 2.70)を使って SSH2でUNIXサーバにログインし、ログインシェルからexitすると、UNIXサーバのsyslogに以下のメッセージが出ます。 (SSHクライアントが OpenSSHや puttyでは 出力されないようです)
sshd[PID]: error: Received disconnect from IPアドレス: 2: disconnected by server requestエラーは "disconnected by server request"という文字列とともに reason_code 2:SSH2_DISCONNECT_PROTOCOL_ERRORの SSH2_MSG_DISCONNECTを 受信したため出力されています。
TTSSHのログレベルを上げてみると 確かに SSH2_MSG_DISCONNECTを送信しているようです。
... SSH2_MSG_CHANNEL_REQUEST was received. local:0 remote:0 exit-status reply:0 ... SSH2_MSG_CHANNEL_EOF was received. local:0 remote:0 ... SSH2_MSG_CHANNEL_CLOSE was received. local:0 remote:0 ... SSH2_MSG_DISCONNECT was sent at handle_SSH2_channel_close(). ... SSH2_MSG_CHANNEL_CLOSE was sent at SSH_notify_disconnecting(). ... Terminating SSH session...
ソースを見ると (http://sourceforge.jp/projects/ttssh2/scm/svn/blobs/head/trunk/ttssh2/ttxssh/ssh.c)
handle_SSH2_channel_close() にて、(c->type == TYPE_SHELL) のときに 該当メッセージを出しているようです。
SSH2_MSG_DISCONNECT無しで、SSH2_MSG_CHENNEL_CLOSEを送信するわけにはいかないでしょうか? わざわざ 条件判断して送信しているので、何らかの理由があって SSH2_MSG_DISCONNECTを送信しているのであれば、 メッセージを無視しようと思いますので、修正不要です。
Last Update of this Ticket
2014-11-09 20:21 Update by: maya
- Ticket Close date set to 2014-11-09 20:21
- Status Update from Open to Closed.