Tengo un script en mi máquina local script.sh
. Quiero ejecutarlo en un servidor remoto al que solo se puede acceder mediante múltiples ssh.
guión.sh:
ls
ls
ls
Lo intenté:
user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh
pero el resultado se dividió en varias líneas:
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
También me gustaría que esto se ejecute sin ponerme en una terminal en la máquina remota.
¿Cómo puedo hacer que el script se ejecute como un solo comando?
Respuesta1
Pude solucionar este problema eliminando el -t
indicador, de modo que ssh no me pusiera en una terminal en el host remoto.
user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh
Producción:
examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$
También me mantuvo en el host local en lugar de llevarme a una terminal en el host remoto.