透過 ssh 上傳檔案並在遠端電腦上執行命令

透過 ssh 上傳檔案並在遠端電腦上執行命令

我試圖找到使用 ssh 上傳檔案最簡單的方法,然後在同一 ssh 會話中在遠端電腦上執行命令進行一些後處理,這樣我就不需要再次登入。如果可能的話,上傳應該會顯示一些進度指示器。

到目前為止,我研究了 scp 和 rsync,兩者都無法運行任何鉤子。 (我可以使用--rsync-path參數來執行一些腳本rsync)但我想做後處理。有沒有辦法打開 ssh 會話、上傳、執行命令並再次關閉它?

答案1

好吧,您可以透過一個命令將整個過程透過管道傳輸,另一端則ssh使用 a 。cat這裡我上傳一個 shell 腳本,使其可執行,然後執行它:

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

答案2

您可能需要ControlMaster中的機制ssh

相關內容