O comando funciona, mas erro de permissão negada quando executado a partir do script

O comando funciona, mas erro de permissão negada quando executado a partir do script

O comando abaixo funciona bem no meu host local e obtenho a saída desejada. Veja abaixo

$ ssh -o ConnectTimeout=7  -o BatchMode=yes [email protected] "echo WORKS;exit"
Output:
WORKS

Agora, coloquei este comando em um arquivo de script test.shcom privilégios de execução suficientes

$ cat test.sh
segment=$(ssh -o ConnectTimeout=7  -o BatchMode=yes [email protected] "echo WORKS;exit")
echo "SEGMENT $segment"

Não obtenho a saída desejada. Na verdade, recebo o erro abaixo:

$ ./test.sh
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
SEGMENT

eu estava esperando

SEGMENT WORKS

Agora, o erro Permissão negada desaparece, mas

Você pode sugerir qual poderia ser o problema?

Responder1

O problema é que usei um alias

alias ssh=ssh -i /app/private_key

armazenado no perfil do usuário. No entanto, esta configuração não tem efeito em um script de shell (consulteaquipor exemplo), então tive que ligar explicitamente

ssh -i app/private_key

no roteiro. Isso resolveu o problema.

informação relacionada