Wird das Skript beim Ausführen eines lokalen Skripts auf einem Remote-Server über mehrere SSH-Verbindungen in mehrere Zeilen aufgeteilt?

Wird das Skript beim Ausführen eines lokalen Skripts auf einem Remote-Server über mehrere SSH-Verbindungen in mehrere Zeilen aufgeteilt?

Auf meinem lokalen Rechner befindet sich ein Skript script.sh. Ich möchte es auf einem Remote-Server ausführen, auf den nur über mehrere SSH-Verbindungen zugegriffen werden kann.

Skript.sh:

ls
ls
ls

Ich habe es versucht:

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

aber die Ausgabe wurde auf mehrere Zeilen aufgeteilt:

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

Ich möchte dies auch ausführen, ohne dass ich mich in ein Terminal auf dem Remotecomputer begeben muss.

Wie kann ich das Skript als einzelnen Befehl ausführen lassen?

Antwort1

Ich konnte dies beheben, indem ich das -tFlag entfernte, sodass SSH mich nicht in ein Terminal auf dem Remote-Host brachte.

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

Ausgabe:

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

Außerdem blieb ich dadurch auf dem lokalen Host, anstatt in einem Terminal auf dem Remote-Host zu landen.

verwandte Informationen