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 会话,并通过该会话运行 stdout。

相关内容