ローカル コマンド (ローカル ファイルを使用) の出力をリモート コマンドにリダイレクトします。
次のようなことが可能であることはわかっています:
[user@local ~]$ head -c 5 /dev/urandom | ssh [email protected] "cat"
scp
...しかし、ローカル ファイルとリモート ファイルの両方を参照するコマンドと同様に、SSH コンソール経由でこれを行う方法があるかどうかを知りたいです。
[user@remote ~]$ scp test.txt remote:/new.txt
ローカル ファイルをリモート サーバーにコピーするのは望ましくないので、出力をリダイレクトするだけにします。
**どちらのマシンも Linux (bash) を実行します。
答え1
最良の方法は、出力をファイルにリダイレクトし、そのファイルをリモート ホストに scp し、そこで cat コマンドを実行することだと思います。
$ head -c 5 /dev/urandom > random && scp ./random user@remoteip:/path/. && cat /path/random
これであなたのニーズが満たされることを願っています。満たされない場合は返信してください。
答え2
これは次の質問に似ています:
したがって、-R オプションを使用して反転した ssh セッションを設定し、それを介して stdout を実行するのがコンセンサスのようです。