SSH:透過遠端SSH控制台存取本機檔案(重定向本機檔案內容)

SSH:透過遠端SSH控制台存取本機檔案(重定向本機檔案內容)

我想將本地命令的輸出(使用本地文件)重定向到遠端命令。


我知道做這樣的事情是可能的:

[user@local ~]$ head -c 5 /dev/urandom | ssh [email protected] "cat"

…但我想知道是否有辦法透過 SSH 控制台執行此操作,就像scp引用本地和遠端檔案的命令一樣:

[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 會話,並通過它運行標準輸出。

相關內容