rsync相当于scp -3
Rsync equivalent to scp -3
- 网络 A 的远程服务器 A 上的大文件
- 大文件需要转到网络 B 的远程服务器 B(只能通过 VPN 访问)
- 我可以使用 rsa 密钥(为方便起见在 ssh 配置文件中配置)和我机器上的 VPN 客户端连接到两台机器。如果没有冗长的官僚程序,我无法更改任何一台远程机器上使用的密钥。
这让我相信我最好的行动方案是使用我的机器作为这两台机器之间 ssh 桥接的中介。
我最初的解决方案是使用一系列脚本化的 scp -3r 命令将目录从 A:A 移动到 B:B。然而,即使使用 arcfour 并具有稳定的网络连接,此过程也非常缓慢且脆弱。
Rsync 可以使用 --partial 和 --append-verify 在进程停止时恢复进程,这样我可以在我的机器上安全地将此任务作为后台运行,并让它 运行 运行几天,并在需要时自动重启。
我的问题是:rsync 等同于 scp -3 是什么?我尝试的解决方案将被 运行ning
改编
*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”是服务器 B 上的 SSH 端口号(通常为 22)。
-R
选项执行反向隧道,将通过本地计算机连接到 serverA:9999
的任何程序路由到 serverB:22
。 (实际上,除非你添加一个 "bind address",访问仅限于 serverA 上的本地程序 运行,连接到 localhost:9999
,所以它是安全的。)
--rsh "ssh -p 9999"
选项告诉 rsync 使用非标准端口号 (9999) 的 ssh。
-M
选项可能不是必需的,但它避免了 SSH 连接共享可能出现的问题。
- 网络 A 的远程服务器 A 上的大文件
- 大文件需要转到网络 B 的远程服务器 B(只能通过 VPN 访问)
- 我可以使用 rsa 密钥(为方便起见在 ssh 配置文件中配置)和我机器上的 VPN 客户端连接到两台机器。如果没有冗长的官僚程序,我无法更改任何一台远程机器上使用的密钥。
这让我相信我最好的行动方案是使用我的机器作为这两台机器之间 ssh 桥接的中介。
我最初的解决方案是使用一系列脚本化的 scp -3r 命令将目录从 A:A 移动到 B:B。然而,即使使用 arcfour 并具有稳定的网络连接,此过程也非常缓慢且脆弱。
Rsync 可以使用 --partial 和 --append-verify 在进程停止时恢复进程,这样我可以在我的机器上安全地将此任务作为后台运行,并让它 运行 运行几天,并在需要时自动重启。
我的问题是:rsync 等同于 scp -3 是什么?我尝试的解决方案将被 运行ning
改编*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”是服务器 B 上的 SSH 端口号(通常为 22)。
-R
选项执行反向隧道,将通过本地计算机连接到 serverA:9999
的任何程序路由到 serverB:22
。 (实际上,除非你添加一个 "bind address",访问仅限于 serverA 上的本地程序 运行,连接到 localhost:9999
,所以它是安全的。)
--rsh "ssh -p 9999"
选项告诉 rsync 使用非标准端口号 (9999) 的 ssh。
-M
选项可能不是必需的,但它避免了 SSH 连接共享可能出现的问题。