gpt4 book ai didi

ssh - Rsync 相当于 scp -3

转载 作者:行者123 更新时间:2023-12-01 22:22:03 24 4
gpt4 key购买 nike

  • 网络 A 的远程服务器 A 上的大文件
  • 大文件需要发送到网络 B 的远程服务器 B(只能通过 VPN 访问)
  • 我可以使用 rsa key (为了方便起见,在 ssh 配置文件中配置)和 VPN 客户端从我的计算机连接到两台计算机。如果没有对每台计算机进行冗长的官僚程序,我就无法更改任一远程计算机上使用的 key 。

这让我相信我最好的做法是使用我的机器作为这两台机器之间 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 。 (实际上,除非添加“绑定(bind)地址”,否则访问仅限于 serverA 上运行的本地程序,连接到 localhost:9999,因此是安全的。)

--rsh "ssh -p 9999" 选项告诉 rsync 使用带有非标准端口号 (9999) 的 ssh。

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

关于ssh - Rsync 相当于 scp -3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com