SSH não está lendo arquivos rc

3

Era uma vez, uma chamada ssh para host1 como ssh u@host1 command iria ler .bashrc antes de executar command . host2 é administrado pelas mesmas pessoas e lê .bashrc!

Eu não administro host1 ou host2 , mas em algum momento nos últimos 6 meses parece que esse comportamento mudou.

Parece agora que o arquivo no rc está sendo lido no login: eu editei .profile, .bash_profile, .bashrc, .login para acrescentar seu nome a uma variável quando lida ( export READ=$READ:.profile )

Os resultados me surpreenderam:

> ssh u@host1
bash3.2> echo $READ
:.bash_profile:.profile 

Como eu esperava.

> ssh u@host1 echo \$READ

>

Então agora estou preso. Alguma sugestão sobre como isso poderia estar acontecendo? Este é um problema de configurações do SSHd?

E apenas para informações: host2 está executando uma versão do OpenSSH ainda mais antiga que host1 e ambas estão executando a mesma versão bash. host1 executa AIX, host2 executa linux.

Editar : não consigo alterar a linha de comando ssh porque o objetivo aqui é fazer com que git funcione corretamente, para alguns usuários não superusuários, em que git está instalado (por outros motivos) em um caminho não padrão. A relação com essa questão é que, como a localização de git-unpack está especificada em .bashrc , git clone deste controle remoto parou de funcionar. Portanto, o problema RC precisa ser corrigido, porque estou tentando configurá-lo para não superusuários e, portanto, git-clone -u não é realmente uma resposta satisfatória.

    
por Matthew G. 26.03.2013 / 19:15

1 resposta

3

Neste caso específico, a resposta parece (infelizmente) ser uma instância de software com bugs ( ou um bug muito parecido com aquele vinculado).

Se você controlar o bash nessa máquina, poderá consertá-lo recompilando o bash com #define SSH_SOURCE_BASHRC ; No entanto, não é o caso para mim, então estou em busca de outras opções.

Espero que isso ajude alguém.

    
por 03.04.2013 / 19:28

Tags