No pude encontrar eso en ningún lado, así que me pregunto si soy el único que tiene ese problema.
Por defecto, ssh en Red Hat y Debian al menos tiene un ssh_config con la opción SendEnv que pasa las variables LC * y LANG en la sesión remota. Si uno no es root para cambiar / etc / ssh / ssh_config, ¿cómo puede deshabilitar ese comportamiento? La opción SendEnv parece estar acumulando y no veo ninguna forma de restablecerla.
Y para evitar que me pregunten, debo evitar pasar mi configuración regional a máquinas de prueba para evitar efectos secundarios en los scripts y los programas que dependen de que la configuración regional sea la predeterminada para la máquina.
ssh
debian
redhat-enterprise-linux
openssh
akostadinov
fuente
fuente
env
o con un script de envoltura?Respuestas:
No eres el único . Como se documenta en
ssh_config(5)
usted no puede desarmarSendEnv
, porqueSin embargo, si tiene root en las máquinas de prueba, puede cambiar
AcceptEnv
para no aceptar variables enviadas por el cliente.fuente
Esto no se puede hacer
~/.ssh/config
porqueSendEnv
no se puede anular.El uso de alias no funcionará para los scripts que llaman a ssh.
Una alternativa es exportar una función. Ej. En
~/.bashrc
:fuente
Hay una opción
SetEnv
, uno puede forzarLANG
algún valor específico antes de enviarlo.También la página del manual dice que
pero no pude hacer que esto funcione.
fuente
-
enfoque no funcionó. Sin embargo, es una buena sugerencia para codificar LANG remota y otros vars en ssh config. Hace las cosas más predecibles. QuizásSetEnv
es una directiva más nueva porque nadie más sugirió al respecto.SetEnv LANG=en_US.UTF-8
Si está utilizando bash, puede configurar un alias ssh = 'LANG = command ssh' para deshabilitar el paso de LANG a los otros servidores.
fuente
Puede usar
su - youruser
cuando haya iniciado sesión a través de ssh. Esto reinicializará el entorno para el usuario.En realidad, inicializa una nueva sesión con un nuevo entorno.
fuente
De acuerdo a
man ssh
:Por lo tanto, puede ssh sin cumplir
/etc/ssh/ssh_config
especificando explícitamente el archivo de configuración (predeterminado) en la línea de comando (~/.ssh/config
está bien que esté vacío):Puede hacer un alias para ello en
~/.bashrc
:Reinicie el shell bash, luego simplemente puede hacer ssh de esta manera:
fuente
if one supplies on command line -F, then the system wide config is ignored according to man page
de bugzilla.mindrot.org/show_bug.cgi?id=1285 ; Es una opción, pero no es realmente la característica deseada.