如何将 unix 命令的输出从一台服务器重定向到另一台服务器。
我应该能够从 server-1 发送 unix 命令的输出。然后我应该能够在 Server-2 中接收输出并将其写入文件。
答案1
一般情况下,你总是可以这样做:
<command> | ssh user@remote-server "cat > output.txt"
它将输出保存到远程服务器中的文件中<command>
。output.txt
对于您的情况,在 Server-1 上:
echo "qwerty" | ssh user@Server-2 "cat > output.txt"
如果两台服务器没有连接,但您可以 ssh 到两台服务器,那么从本地计算机,您可以执行以下操作:
ssh user@Server-1 "<command>" | ssh user@Server-2 "cat > output.txt"
答案2
你可以运行:
ssh remote_server "command" > file_on_local_host.txt
或使用输出作为本地命令的输入:
ssh remote_server "remote_command" | local_command
答案3
由于您无法直接从服务器 1 连接到服务器 2,因此您可以使用此方法,将本地计算机置于中间:
ssh server1 command | ssh server2 "cat > output.txt"