SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る
Eröffnet am: 2019-12-17 10:15
Letztes Update: 2019-12-17 23:16
Auswertung: | doda | Verantwortlicher: | (Keine) |
---|---|---|---|
Priorität: | 5 - Mittel | Meilenstein: | (Keine) |
Typ: | Fehler | Schweregrad: | 5 - Mittel |
Komponente: | TTSSH | Status: | Offen |
Lösung | Keine |
Einzelheiten
問題
LanguageUI で Japanese.lng を使用している時、切断時に送る SSH_MSG_DISCONNECT メッセージの Description に日本語(CP932)の文字列を送っている。
RFC 4253では Description は UTF-8 と決められている。
対処案
- UTF-8 に変換して送信する
- メッセージの地域化を行わず、常に英語(US-ASCIIのみ)で送る
サーバ側でのログの文字化けを考慮すると後者がいいか。
備考
他のメッセージで同様の問題が無いか確認する。
該当するのは以下ぐらい?
- SSH_MSG_USERAUTH_REQUEST の username
- SSH_MSG_USERAUTH_REQUEST の password (パスワード認証時)
Kommentar
この部分はプロトコル上
となるので、メッセージが読めたとしてもクライアントが原因で切れたように見えて、実のところサーバが認証失敗を送ったために切れています。認証が失敗した原因はサーバ側で sshd を -vvv とかで立ち上げて、SSH2_MSG_USERAUTH_FAILURE を送る前の所を見ないとわかりづらいです。