Eu não consegui encontrar isso em lugar nenhum, então estou me perguntando se sou o único atingindo esse problema.
Por padrão, o ssh no Red Hat e no Debian tem pelo menos uma opção ssh_config com a opção SendEnv passando variáveis LC * e LANG na sessão remota. Se alguém não é root para alterar / etc / ssh / ssh_config, como ele pode desativar esse comportamento? A opção SendEnv parece estar se acumulando e não consigo encontrar nenhuma maneira de redefini-la.
E para evitar ser solicitado, eu preciso evitar passar meu código do idioma para testar máquinas para evitar efeitos colaterais em scripts e programas que dependem do código de idioma ser o padrão para a máquina.
ssh
debian
redhat-enterprise-linux
openssh
akostadinov
fonte
fonte
env
ou com um script de wrapper?Respostas:
Você não é o único . Conforme documentado,
ssh_config(5)
você não pode desabilitarSendEnv
, porqueSe você possui root nas máquinas de teste, pode mudar
AcceptEnv
para não aceitar variáveis enviadas pelo cliente.fonte
Isso não pode ser feito
~/.ssh/config
porqueSendEnv
não pode ser substituído.Usar aliases não funcionará para scripts que chamam ssh.
Uma alternativa é exportar uma função. Por exemplo, em
~/.bashrc
:fonte
Existe uma opção
SetEnv
, pode-se forçarLANG
um valor específico antes de enviá-lo.Também a página de manual diz que
mas não consegui fazer isso funcionar.
fonte
-
abordagem não funcionou. Boa sugestão, porém, para codificar o LANG remoto e outros vars na configuração do ssh. Torna as coisas mais previsíveis. TalvezSetEnv
seja uma diretiva mais recente, porque ninguém mais sugeriu isso.SetEnv LANG=en_US.UTF-8
Se você estiver usando o bash, poderá configurar um alias ssh = 'LANG = command ssh' para desativar a passagem do LANG para os outros servidores.
fonte
Você pode usar
su - youruser
quando estiver logado no ssh. Isso reinicializará o ambiente para o usuário.Na verdade, você inicializa uma nova sessão com um novo ambiente.
fonte
De acordo com
man ssh
:Portanto, você pode ssh sem cumprir
/etc/ssh/ssh_config
especificando explicitamente o arquivo de configuração (padrão) na linha de comando (~/.ssh/config
é OK que esteja vazio):Você pode criar um alias para isso em
~/.bashrc
:Reinicie o shell bash, então você pode simplesmente ssh assim:
fonte
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 ; é uma opção, mas não é realmente o recurso desejado.