Pregunta Conexión SSH usando masilla: usando el juego de caracteres "UTF-8" en lugar de "ANSI_X3.4-1968"?


Cuando me conecto a mi servidor Linux (Ubuntu 14.04) usando masilla, tengo algunos problemas porque la conexión SSH siempre usa ANSI_X3.4-1968 como charset (salida de locale charmap)

Sin embargo, mi sistema está configurado para usar de_DE.UTF-8 que se puede ver por cat /etc/default/locale:

LANG=de_DE.UTF-8
LC_MESSAGES=POSIX

El perfil de conexión usado de masilla UTF-8 como Conjunto de caracteres remoto (Ventana -> Traducción). También traté de usar el valor de_DE.UTF-8 aquí, pero no hubo cambio.

Lo extraño es que cuando inicio sesión en la consola física y ejecuto locale charmap allí obtengo el resultado correcto y esperado: UTF-8.

¿Por qué obtengo conjuntos de caracteres configurados usando Putty (v0.67) y la consola física? ¿Es este un problema de configuración de masilla, o es el problema en el lado del servidor de Linux?

Actualización 1:

También comparé el /etc/pam.d/sshd con uno de un segundo servidor similar que no se ve afectado por este problema y ambos archivos eran idénticos. Lo mismo es cierto para el archivo /etc/ssh/ssh_config (ambos archivos contienen la línea SendEnv LANG LC_*)

También ejecuté los siguientes comandos para asegurarme de que las configuraciones regionales no sean defectuosas:

sudo locale-gen --purge
sudo update-locale LANG=de_DE.UTF-8

0


origen




Respuestas:


Esto no tiene nada que ver con PuTTY. Lo que has configurado allí es solo el terminal conjunto de caracteres, que le dice a PuTTY cómo descodificar el texto que recibe, pero no lo pasa al servidor de ninguna manera.

La configuración regional ($ LANG & c.) La carga el servidor en sí, dependiendo de la distribución, ya sea source-ing / etc / default / locale del archivo de inicio del shell (por ejemplo, desde / etc / profile), o cargándolo a través de PAM utilizando el módulo pam_env.

Amplíe sus configuraciones de PAM en /etc/pam.d para menciones de /etc/default/locale.

  • Si encuentra una línea pam_env coincidente directamente en la configuración de una aplicación, como /etc/pam.d/login, cópialo aproximadamente en el mismo lugar en /etc/pam.d/sshd. (Presta atención a dónde se encuentra en la pila).

  • Si encuentra una línea coincidente en el compartimiento common-session config, luego asegúrese de que la configuración de sshd PAM lo importe (por ejemplo, a través de @include common-session)

  • Si no encuentra nada en PAM, consulte los archivos de inicio del shell en su lugar.


2



Gracias por la respuesta. Aprendí mucho, lamentablemente no resolvió mi problema (ver la pregunta actualizada). - Robert
Has comparado /etc/pam.d/sshd, pero has comparado los otros archivos? - grawity
Acabo de hacer un md5sum de /etc/pam.d/* y son idénticos en ambos servidores. Pero encontré la diferencia importante. Era /etc/ssh/sshd_config. Parece que alguien eliminó líneas importantes de él. - Robert