加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

ssh – 相当于scp -3的Rsync

发布时间:2020-12-13 23:27:34 所属栏目:Linux 来源:网络整理
导读:网络A的远程服务器A上的大文件 大文件需要转到网络B的远程服务器B(仅可通过VPN访问) 我可以使用rsa密钥(为方便起见,在ssh配置文件中配置)和我机器上的VPN客户端连接到两台机器.如果没有冗长的官僚程序,我无法更改任何一台远程计算机上使用的密钥. 这让我相信
>网络A的远程服务器A上的大文件
>大文件需要转到网络B的远程服务器B(仅可通过VPN访问)
>我可以使用rsa密钥(为方便起见,在ssh配置文件中配置)和我机器上的VPN客户端连接到两台机器.如果没有冗长的官僚程序,我无法更改任何一台远程计算机上使用的密钥.

这让我相信我最好的行动方案是使用我的机器作为这两台机器之间的ssh桥的中介.

我最初的解决方案是使用脚本系列的scp -3r命令将目录从A:A移动到B:B.但是,即使使用arcfour并具有稳定的网络连接,此过程也非常缓慢且易碎.

Rsync能够使用–partial和–append-verify在停止时恢复进程,这样我就可以安全地在我的机器上执行此任务,并让它在需要时自动重启几天.

我的问题是:什么是rsync相当于scp -3?我尝试的解决方案将通过运行进行调整

*rsync *???* user@A:path/to/big/files otheruser@B:path/to/desired/location -F /path/to/specific/.ssh/config

另外,根据我的约束,你能否建议一种方法来完成这种转移?

最后的方法是通过sshfs安装这些系统并尝试制定一组更合适的命令(更慢,更慢)

谢谢大家

解决方法

您可以使用ssh来设置隧道,以便rsync做正确的事情.

在您的本地机器上:

ssh -M -R 9999:serverB:22 serverA rsync -a --rsh "ssh -p 9999" /path/to/big/files/ localhost:/path/to/desired/location/

其中“9999”是您喜欢的任何端口号,只要它在两个地方匹配,“22”是serverB上的SSH端口号(通常为22).

-R选项执行反向隧道,将通过本地计算机连接到serverA:9999的任何程序路由到serverB:22. (实际上,除非您添加“绑定地址”,否则访问仅限于在serverA上运行的本地程序,连接到localhost:9999,因此它是安全的.)

–rsh“ssh -p 9999”选项告诉rsync使用带有非标准端口号(9999)的ssh.

-M选项可能不是必需的,但它可以解决SSH连接共享可能出现的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读