嘗試使用 SSH 透過遠端主機存取的叢集上的本機輸入檔案執行本機腳本時管道損壞

嘗試使用 SSH 透過遠端主機存取的叢集上的本機輸入檔案執行本機腳本時管道損壞

我正在嘗試使用 SSH 在遠端電腦上的叢集上執行本機腳本(例如 hostname.sh),但出現以下錯誤:

> ssh -A _remote ssh -A _cluster 'bash' < hostname.sh
stdout: write: Broken pipe

在此範例中,檔案 hostname.sh 僅輸出主機名,但通常可能更複雜。此錯誤可能是由於管道使用不正確引起的,因為以下工作原理:

ssh -A _remote ssh -A _cluster hostname
> _cluster_name

我已經嘗試了幾種解決方案,但都以一種或另一種方式失敗,它們歸結為 ssh 到 _remote,然後嘗試讀取 hotsname.sh 在這種情況下不可用。有效的方法是將 hostname.sh 複製到 _remote,透過 SSH 複製到遠端,然後執行:

ssh _cluster "bash" < hostname.sh

但這意味著我必須在本機和遠端電腦之間不斷同步 hostname.sh 。

任何幫助表示讚賞。

相關內容