Como tornar o ambiente não interativo ssh igual ao ambiente iterativo ssh

1

A configuração do meu ambiente é diferente quando executo comandos usando o parâmetro ssh string (ssh não interativo) em vez de executá-los manualmente no servidor (ssh interrativo)?

Exemplo: quando executo ssh <user@servername> "echo \$SGE_ROOT" , recebo uma string vazia. Quando me conecto ao meu servidor ssh <user@servername> e executo o comando echo $SGE_ROOT recebo /opt/gridengine .

Eu acho que algum tipo de script de perfil não é executado. É possível descobrir qual script e executá-lo por meio do ssh não interativo para tornar a configuração do ambiente idêntica?

O servidor usa o CentOS 6.6.

    
por niekas 09.09.2015 / 13:00

1 resposta

0

Parece que nenhum dos scripts de perfil ou bash são executados ao usar o ssh não interativo. Então eu tive que chamá-los explicitamente:

ssh <user@servername> "source /etc/profile; echo \$SGE_ROOT"

Também tive que comentar esta linha em ~/.bashrc file:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
    
por 09.09.2015 / 13:51