使用第三台服务器将文件从一台服务器传输到另一台服务器的最佳方式

kol*_*rie 5 ssh copy

这是场景:

                   ssh  +------------+
                  +---->|  Server 2  |
 +------------+   |     +------------+
 |  Server 1  +---+
 +------------+   |     +------------+
                  +---->|  Server 3  |
                   ssh  +------------+
Run Code Online (Sandbox Code Playgroud)

我从SSH访问Server 1这两个Server 2Server 3(而不是从Server 2Server 3也不周围的其他方法)。

我想从 to 传输一个相当大的文件23并想知道通过1充当协调器来执行此操作的最快方法是什么。

更新:我确实在两台服务器之间建立了连接,只是没有来自/到服务器的 SSH 凭据。

Sve*_*ven 6

你可以使用“scp”:

在服务器 1 上做这样的事情:

scp  user1@server2:/path/filename user3@server3:/path 
Run Code Online (Sandbox Code Playgroud)

更多信息与man scp


use*_*419 5

您可以直接在两台服务器之间进行传输:

在要传输到的服务器上,在某个随机端口上以侦听模式启动 nc:

ssh dst-server 'exec 1>/tmp/bah; nc -l -p 34001'
Run Code Online (Sandbox Code Playgroud)

在您要下载的服务器上,在客户端模式下使用 nc 传输。您可以使用压缩来创建一个 gzip 管道:

ssh source-server 'nc dst-server 34001 < ./bah'
Run Code Online (Sandbox Code Playgroud)

你会在 /tmp/bah 中找到你的文件