是因为 ssh 登录时, 将登录主机的环境变量带了进去, 如果需要修改, 可以参照下边的步骤在服务器执行
# 查看环境变量 $LANG
cat $LANG
# 查看是否支持英文
locale -a |grep en_US
# 如果支持, 看配置文件
grep LANG /etc/locale.conf # LANG="en_US.UTF-8" / zh_CN.UTF-8 是中文
# 查看环境变量导入
grep LANG /etc/profile
grep LANG ~/.bashrc
...
# 如果都没有问题, 可能是 ssh 时将本机的变量传给了服务器, 修改 ssh 服务配置文件
grep SendEnv /etc/ssh/ssh_config # 把 LANG 去掉, 提前备份, 免得不知道以后加在哪
grep AcceptEnv /etc/ssh/sshd_config # 把 LANG 去掉
# 重启机器即可
# 其实这种情况如果自己的主机是 en_US.UTF-8 就会显示英文
# -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
# 如果遇到上边的报错, 修改 /etc/locale.conf, 内容如下即可
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8