我在 Ubuntu 22.04 上使用 openssh 1:8.9p1-3ubuntu0.1 运行 SFTP 服务器。连接客户端时反复出现的问题是用户名以 \357\273\277 为前缀一次或多次。这是一个不需要的 UTF-8 BOM 标记,并且此登录尝试失败,因为用户名不存在以 BOM 为前缀的情况。
我目前正在与每位客户合作修复他们的连接。他们似乎有一个共同点,那就是他们使用 Windows 并使用便签应用存储他们的 SFTP 凭据,因此可能是该应用添加了 BOM。他们大概全部使用具有一些 BOM 设置的 WinSCP,但这些设置似乎特定于 WinSCP 传输的文件。
有没有办法让 openssh 或 PAM 去掉前导 BOM?
如果它特定于 WinSCP,客户端是否应该配置一些设置?
谢谢
相关的 /var/log/auth.log 条目
Aug 28 16:13:25 sftp1 sshd[1670168]: Failed password for invalid user \357\273\277\357\273\277redacted_sftp_username from 165.165.165.165 port 35970 ssh2
Linux 版本
sftp1:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Openssh 版本
sftp1:~# dpkg -l | grep openssh
ii openssh-client 1:8.9p1-3ubuntu0.1 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:8.9p1-3ubuntu0.1 amd64 secure shell (SSH) server, for secure access from remote machines
ii openssh-sftp-server 1:8.9p1-3ubuntu0.1 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
系统区域设置
sftp1:~# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=