Как не пройти локаль через ssh
У меня есть некоторые псевдонимы для ssh, например:
alias buildWork="ssh work '~/build_app'"
Проблема в том, что ssh передает некоторые переменные типа $LC_CTYPE
, которые вызывают ошибки, как предотвратить это и использовать конфигурации сервера.
Ответы
Ответ 1
Похоже, ваш клиент SSH настроен на пересылку настроек локали. Вы можете предотвратить это, изменив конфигурацию (глобальный файл обычно /etc/ssh/ssh_config
):
# comment out / remove the following line
SendEnv LANG LC_*
В качестве альтернативы вы можете изменить конфигурацию сервера, отредактировав /etc/ssh/sshd_config
на удаленном компьютере (обратите внимание на d в sshd_config
):
# comment out / remove the following line
AcceptEnv LANG LC_*
Ответ 2
Короче:
$ touch ~/.ssh/config
$ ssh -F ~/.ssh/config [email protected]_host
Подробнее см. этот ответ.
Ответ 3
Принятый ответ правильный, но если вы не хотите изменять свои конфигурационные файлы, вы можете переопределить определенный язык в командной строке
LC_TIME="en_US.UTF-8" ssh [email protected]
Ответ 4
To stop sending Environment Variables via sftp
Tested on CENTOS 7
- create file config in ~/xyzuser/.ssh/config
- set permission to 600 ~/xyzuser/.ssh/config
- Put the following content in the file
comment the below lines commented to disable env variables#########
- Send locale-related environment variables
SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY
SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE
SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
SendEnv XMODIFIERS
Running without the ~/xyzuser/.ssh/config
sftp -v [email protected]
-------------------truncated output--------
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending subsystem: sftp
Running with the ~/xyzuser/.ssh/config
sftp -v -F /home/xyzuser/.ssh/config [email protected]
----truncated----------
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending subsystem: sftp
Connected to destinationhost