这是一个场景:
ssh +------------+ +---->| Server 2 | +------------+ | +------------+ | Server 1 +---+ +------------+ | +------------+ +---->| Server 3 | ssh +------------+
我有从Server 1到Server 2和Server 3 SSH访问(但不是从Server 2到Server 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 。