Datei über SSH hochladen und Befehl auf dem Remotecomputer ausführen

Datei über SSH hochladen und Befehl auf dem Remotecomputer ausführen

Ich versuche, den einfachsten Weg zu finden, eine Datei per SSH hochzuladen und danach innerhalb derselben SSH-Sitzung einen Befehl auf dem Remote-Computer zur Nachbearbeitung auszuführen, sodass ich mich nicht erneut anmelden muss. Der Upload sollte, wenn möglich, einen Fortschrittsindikator anzeigen.

Bisher habe ich mir scp und rsync angesehen und beide sind nicht in der Lage, Hooks auszuführen. (Ich könnte den --rsync-pathParameter verwenden, um ein Skript auszuführenVorrsync), aber ich möchte eine Nachbearbeitung durchführen. Gibt es eine Möglichkeit, eine SSH-Sitzung zu öffnen, hochzuladen, einen Befehl auszuführen und sie wieder zu schließen?

Antwort1

Nun, Sie könnten das Ganze einfach durch einen sshBefehl mit einem catam anderen Ende leiten. Hier lade ich ein Shell-Skript hoch, mache es ausführbar und führe es aus:

$ cat sayhi.sh | ssh myserver 'cat > ./remotehi.sh ; chmod +x ./remotehi.sh ; ./remotehi.sh'
hello, world!

Antwort2

Möglicherweise möchten Sie den ControlMasterMechanismus in ssh.

verwandte Informationen