localidade não sendo configurada corretamente por conexão ssh

4

Eu tenho um servidor debian com várias localidades instaladas, de_DE, en_GB e en_US. Eu quero poder fazer o login através do ssh e obter o locale definido de acordo (para en_US no meu caso, diferente para outra pessoa) Eu executei o dpkg-reconfigure locales e selecionei None como o local padrão, como mencionado aqui: link . Agora, quando eu faço o login no ssh, ainda recebo o código do idioma de_DE.

LANG=de_DE.utf8
LANGUAGE=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_ALL=de_DE.utf8

Eu verifiquei com ssh -v, o cliente ssh está realmente enviando a variável LANG

debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8

Como o local ainda está sendo definido como DE e como posso desabilitar esse comportamento?

Editar: Funciona agora. Alguém forçosamente defina a localidade em / etc / profile ...

    
por BubuIIC 11.01.2013 / 22:32

3 respostas

1

Ok, eu percebi. Alguém codificou com firmeza as variáveis LC_ALL e LANG em /etc/profile , então todo o restante foi ignorado. Depois de removê-los, a localidade é configurada de acordo com o ambiente transmitido pelo ssh.

    
por 12.01.2013 / 07:21
3

Está especificando as configurações de localidade preferidas pelo usuário em ~ / .profile apropriadas para suas necessidades?

Além disso, para poupar o aborrecimento, pare de encaminhar a localidade do seu cliente (/ etc / ssh / ssh_config, comente SendEnv LANG ...) e pare de aceitar no servidor (/ etc / ssh / sshd_config). / p>

Ou, se preferir, você pode definir um arquivo ~ / .ssh / environment com as opções desejadas. Você terá que habilitar o PermitUserEnvironment no arquivo / etc / ssh / sshd_config do servidor.

    
por 11.01.2013 / 22:38
0

No meu caso, ao efetuar login com o ssh, nenhuma das configurações padrão de localidade ou variável de ambiente costumava funcionar. Foi porque eu tinha desativado o controle de sessão do PAM na configuração do sshd.

Verifique se você definiu

UsePAM yes 

no seu arquivo /etc/ssh/sshd_config , pelo menos isso funcionou para mim.

    
por 08.12.2013 / 05:56