
El siguiente comando funciona bien desde mi host local y obtengo el resultado deseado. Vea abajo
$ ssh -o ConnectTimeout=7 -o BatchMode=yes [email protected] "echo WORKS;exit"
Output:
WORKS
Ahora, puse este comando en un archivo de script test.sh
que tenga suficientes privilegios de ejecución.
$ cat test.sh
segment=$(ssh -o ConnectTimeout=7 -o BatchMode=yes [email protected] "echo WORKS;exit")
echo "SEGMENT $segment"
No obtengo el resultado deseado. De hecho, aparece el siguiente error:
$ ./test.sh
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
SEGMENT
Yo estaba esperando
SEGMENT WORKS
Ahora, el error de Permiso denegado desaparece pero
¿Puede sugerir cuál podría ser el problema?
Respuesta1
El problema fue que usé un alias.
alias ssh=ssh -i /app/private_key
almacenado en el perfil de usuario. Sin embargo, esta configuración no tiene efecto en un script de shell (consulteaquípor ejemplo), así que tuve que llamar explícitamente
ssh -i app/private_key
en el guión. Esto resolvió el problema.