
我正在嘗試使用 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 。
任何幫助表示讚賞。