详细错误日志大概是这样的:
sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
这个问题是系统语言不一致导致的。一台电脑的默认语言是中文的,当使用这台中文的电脑ssh连接远程一台机器,而远程机器语言是英文的时候,便会出现这个警告信息
有两种解决方法,两种解决方法二选一即可
假设 ssh 连接是 电脑1
连接 电脑2
解决方法一
解决方法一是修改 电脑1
的ssh一个配置文件
编辑文件:/etc/ssh/ssh_config
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
在里面有一个选项:SendEnv
,注释掉它,注释后是这样的:
这个选项一般在倒数第三行
Host *
# SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
解决方法二
方法二是修改 电脑2
的一个配置文件
编辑文件:/etc/environment
这个文件一般是空文件,在里面添加两行:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
两个解决方案分别是编辑不同电脑上的配置文件,可以根据需要自行决定使用哪种方法