Ao executar o script local no servidor remoto por meio de vários ssh, o script é dividido em várias linhas?

Ao executar o script local no servidor remoto por meio de vários ssh, o script é dividido em várias linhas?

Eu tenho um script na minha máquina local, script.sh. Quero executá-lo em um servidor remoto que só seja acessível por vários ssh.

script.sh:

ls
ls
ls

Tentei:

user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh

mas a saída foi dividida em várias linhas:

user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls

Eu também gostaria que isso fosse executado sem me colocar em um terminal na máquina remota.

Como posso fazer com que o script seja executado como um único comando?

Responder1

Consegui consertar isso removendo o -tsinalizador, para que o ssh não me colocasse em um terminal no host remoto.

user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh

Saída:

examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$

Isso também me manteve no host local, em vez de me levar a um terminal no host remoto.

informação relacionada