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

这是一个场景:

ssh +------------+ +---->| Server 2 | +------------+ | +------------+ | Server 1 +---+ +------------+ | +------------+ +---->| Server 3 | ssh +------------+ 

我有从Server 1Server 2Server 3 SSH访问(但不是从Server 2Server 3也不是其他方式)。

我想将一个相当大的文件从2转移到3并想知道以1作为pipe弦乐器的最快方式是什么。

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

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

在要转移到的服务器上,在一些随机端口上以侦听模式启动nc:

 ssh dst-server 'exec 1>/tmp/bah; nc -l -p 34001' 

在你想下载的服务器上,在客户端模式下用nc传输。 你可以使用压缩来创build一个gzippipe道:

 ssh source-server 'nc dst-server 34001 < ./bah' 

你会在/ tmp / bahfind你的文件

你可以使用'scp':

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

 scp user1@server2:/path/filename user3@server3:/path 

更多信息与man scp