使用 scp/ssh 隧道将文件从远程主机复制到另一台主机

使用 scp/ssh 隧道将文件从远程主机复制到另一台主机

我想通过本地计算机将文件从远程主机 (remote1) 复制到另一台远程主机 (remote2)。我只能从这台本地计算机与两个远程主机之一建立 ssh 连接。它们之间没有连接,我也无法从任何远程主机连接到本地。

我读到我应该使用 scp -3 user@remote1:Folder/file user@remote2:Folder/,但不幸的是 scp 版本对于 -3 来说太旧了。所以我读到我需要一个 ssh 隧道。你能指导我吗?

答案1

您将需要两个 shell 会话。在第一个 shell 中输入:

ssh user_r1@remote1 -L 2222:localhost:22

然后,在第二个 shell 上:

ssh user_r2@remote2 -R 2222:localhost:2222
ssh user_r1@localhost -p 2222

在第一个 shell 中,您将连接到 remote1,并将流量从本地计算机的端口 2222 重定向到 remote1 的端口 22。

在第二个 shell 中,您将连接到 remote2,并将来自 remote2 端口 2222 的流量重定向到本地计算机的端口 2222。

然后,连接到 remote2,如果您尝试在 localhost 端口 2222 上进行 ssh(或 scp),则流量将被重定向到 remote1 的端口 22。

相关内容