3
rsync hack反弹两个未连接服务器之间的文件
这是连接: [Server1] <---> [my desktop] <---> [Server2] 服务器1和服务器2不允许直接互相交谈(不要问)。但是,我的桌面能够通过ssh访问两个服务器。 我需要将文件从server1复制到server2。 传统上,我一直在使用ssh + tar hack,例如: ssh -q root@Server1 'tar -vzc /path/to/files ' | ssh -q root@Server2 'tar -vzx -C /' 效果很好,但我想更进一步,通过桌面在两台服务器之间使rsync工作。 现在,我知道我可以在一个终端中启动ssh端口转发隧道,然后在另一个窗口中在该隧道上进行rsync,但是我不想在第二个终端上大惊小怪,也不想创建和破坏单独的端口转发隧道。我想要的是: 一个线性命令通过桌面将文件从Server1同步到Server2 全部在一个命令行上,一个终端窗口 我希望端口转发隧道仅在rsync命令的有效期内存在。 我不想scp,我想rsync。 有人这样做有技巧吗? 编辑:这是工作命令!每个人的出色工作:1.对于rsa键路径,不能使用tildae,必须使用“ / root /”。2.这是最终的命令行: ssh -R 2200:SERVER2:22 root@SERVER1 "rsync -e 'ssh -p 2200 -i /root/.ssh/id_rsa_ROOT_ON_SERVER2' …