-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSHでユーザー名、パスワードを UTF-8 で扱うよう修正する #276
Comments
- sshプロトコル上の文字コードはUTF-8 - 修正前はACP(日本語WindowsではShift_JIS)で扱っていた
修正ブランチをpushしました 7609e4d 基本的には良いと思うのですが、問題がある環境があるかもしれません。 問題があったらインパクトが大きいので main へのマージを躊躇しています。 |
Windows上でOpenSSHサーバーを動かしてテストしてみました。 漢字のユーザー名はログインできず、Tera Term上で文字化けが出ました。 表示の修正とどんなパケットをやり取りしているか調べます。 |
- auth.c のユーザー名設定を修正 - UTF-8文字列設定/取得を分離 win32helper_u8.cpp,h
ダイアログの表示の文字化けを修正しました。 SSH2_MSG_USERAUTH_REQUEST SSH2_MSG_USERAUTH_FAILURE が返ってきていました。
↑手もとで修正したコードでログを出した結果です。 Windows 10 の OpenSSH サーバーは漢字ユーザー名を使用できないようです。 |
このあたりの記事を見ると、漢字ユーザ名でもサーバを立てられそうな雰囲気はあります。 https://ascii.jp/elem/000/001/573/1573187/
https://lecture.ecc.u-tokyo.ac.jp/JOHZU/joho/Y2023/RemoteShell/
→ssh-keygen はだめでも、そのようにすればログインは可能なように思えます。 他のSSHクライアントでは、漢字ユーザでログインできるでしょうか? |
ssh認証時にユーザー名、パスワード(パスフレーズ)をUTF-8で扱う #276
マージしました。 |
SSHでのユーザー名、パスワードは UTF-8 と定められています。
この仕様通りにUTF-8で送信するよう修正します。
従来は日本語Windowsのときは、Shift_JISでホストに送ります。
(Shift_JISに変換できない文字は"?"で送られます)
SSHでユーザー名/パスワードに
漢字(=Unicode固有の文字,大雑把にアルファベット+数字+記号以外、漢字や絵文字など)が
使用できるかどうかは、次のレイヤ全てが対応する必要があります。
linux上ではユーザー名に漢字は使用できないことが多いのではないでしょうか。
Windowsでは漢字ユーザー名が使用できるので使用できるかもしれません。
The text was updated successfully, but these errors were encountered: