SSH: リモート SSH コンソール経由でローカル ファイルにアクセス (ローカル ファイルの内容をリダイレクト)

SSH: リモート SSH コンソール経由でローカル ファイルにアクセス (ローカル ファイルの内容をリダイレクト)

ローカル コマンド (ローカル ファイルを使用) の出力をリモート コマンドにリダイレクトします。


次のようなことが可能であることはわかっています:

[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

これは次の質問に似ています:

https://stackoverflow.com/questions/440524/ssh-a-way-to-transfer-files-without-opening-a-separate-sftp-session

したがって、-R オプションを使用して反転した ssh セッションを設定し、それを介して stdout を実行するのがコンセンサスのようです。

関連情報