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
いくつかの解決策を試しましたが、結局は _remote に ssh して、この場合は利用できない hotsname.sh を読み取ろうとするだけなので、すべて失敗します。うまくいくのは、hostname.sh を _remote にコピーし、リモートに SSH して、次を実行することです。
ssh _cluster "bash" < hostname.sh
しかし、これはローカルマシンとリモートマシン間で hostname.sh を常に同期する必要があることを意味します。
どのような助けでも大歓迎です。