0 votos

sshd no establece la configuración regional

Edición: Debería haber mencionado en mi pregunta original que estaba usando el cliente SSH de MacPorts, ya que resultó que había dos causas de root. Ver mi propia respuesta a continuación.

Cuando hago SSH en mi máquina OSX, no establece la configuración regional correctamente:

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Esto debería utilizar una configuración regional UTF-8. Debería tener este aspecto:

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

Estoy ejecutando OSX 10.11.6 (El Capitan), y he habilitado el servidor SSH en las Preferencias del Sistema.

Estoy usando Putty como cliente en mi máquina Windows. Cuando uso la misma configuración de putty para conectarme a un servidor Linux, la información de la configuración regional está bien.

Cuando ejecuto un terminal local en la máquina OSX, la configuración regional está bien. Si luego ssh localhost Tengo el mismo problema: no se establece ninguna configuración regional.

Parece que mi servidor SSH de OSX está ignorando o descartando la información de localización del cliente. Tengo lo siguiente en mi (sin modificar) /etc/ssh/sshd_config :

AcceptEnv LANG LC_*

Hasta donde yo sé, eso es todo lo que se requiere.

Mi configuración de putty está enviando TERM=xterm-256color que está siendo honrado; es sólo la información de la configuración regional que no está funcionando, y para reiterar, sucede cuando yo ssh localhost de OSX a sí mismo, así que no creo que Putty sea el problema aquí.

No aceptaré respuestas que sugieran configurar la configuración regional en mi .profile Hay muchas respuestas aquí que sugieren eso, pero es un truco, no una solución.

1voto

Resulta que había dos problemas aquí:

En primer lugar, PuTTY no estaba enviando ninguna información de localización. Aparentemente, los servidores de Linux configuraban la configuración regional automáticamente, o basándose en TERM o algo así. Arreglé PuTTY configurando variables de entorno para que enviara:

PuTTY locale configuration

En segundo lugar, estoy usando MacPorts (pregunta actualizada ya que esto faltaba en el original), y MacPorts ssh no envía las variables de localización . No puedo imaginar por qué MacPorts configura SSH de esta manera, pero tuve que añadir lo siguiente a /opt/local/etc/ssh/ssh_config :

Host *
  SendEnv LANG LC_*

Esa debería ser la configuración predeterminada de MacPorts; es la predeterminada en cualquier sistema Linux estándar, e incluso es la predeterminada en el propio SSH de OSX. Descubrí que MacPorts era parte del problema cuando SSH de Linux a OSX establecía la configuración regional.

He presentado un billete con MacPorts sugiriendo que se cambie el valor por defecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X