禁止 SSH 传递 locale 环境变量

SSH 连接远程主机时默认会传递一些环境变量,其中就包括本机的 locale 变量。这会导致远程主机的 locale 配置变成和本地主机一样。但有时我们更希望远程主机保留自己的设置。可以通过修改 SSH 配置文件来取消这一行为。

编辑 /etc/ssh/ssh_config 文件:

sudoedit /etc/ssh/ssh_config

注释掉 SendEnv LANG LC_* 相关设置。这条命令会导致 SSH 连接时自动传递 LANGLC_* 环境变量。

-    SendEnv LANG LC_*
+#   SendEnv LANG LC_*

StackOverflow 中提到还可以在 ~/.ssh/config 中设置取消传递 LANGLC_* 环境变量的方法,但是 SSH 貌似会默认采用系统设置中的环境变量配置,因此这个方法无效。

参考:How not to pass the locale through an ssh connection command | StackOverflow

posted @ 2024-04-21 17:06  Undefined443  阅读(137)  评论(0)    收藏  举报