当用 windows terminal 登录 SSH 服务器后:
ssh 127.0.0.1
无法输入全角的标点符号。普通汉字则正常。而且该问题只出现在用 terminal 连 SSH 之后, powershell 和自带的 wsl ubuntu 没问题。
查到 terminal 的一个 issue: https://github.com/microsoft/terminal/issues/9035,把问题指向了 portable-openssh。命令ssh -V
可以查看 openssh 的版本,当前为OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
。
从https://github.com/PowerShell/Win32-OpenSSH/releases/下载最新的 openssh ,解压到D:\download\OpenSSH-Win32\ssh.exe
,然后下面命令连接到 WSL SSH ,标点符号正常了:
D:/download/OpenSSH-Win32/ssh.exe 127.0.0.1
此时D:/download/OpenSSH-Win32/ssh.exe -V
得到的版本信息是OpenSSH_for_Windows_8.1p1, LibreSSL 2.9.2
。
现在还不知道怎么更新系统自带的 openssh ,找到其路径在C:/windows/sysmtem32/OpenSSH/ssh.exe
,但直接替换后会报找不到 libcrypto.dll 的错误。
Q. E. D.