如何进行双隧道发送大数据?

如何进行双隧道发送大数据?

我有4台计算机A、B、C、D。计算机A和B在一个城市,计算机C和D在另一个城市。计算机A和D是两台集群机。计算机B和计算机C通过VPN连接。我在计算机 A 中有一个巨大的数据 ~TB,想发送到计算机 D。最好的发送方式是什么?我把以下信息放在计算机B中,这样我就可以通过C隧道将数据从计算机B直接发送到D。但是如何从计算机A发送到D呢?

Host C
Hostname C.*** User <USERNAME>
IdentityFile  ̃/.ssh/id_rsa

Host D
Hostname D.*** User <USERNAME>
ProxyCommand ssh C nc %h %p 

答案1

使用,与ie通过跳转主机连接ProxyJump是一样的。ssh -J

scp -oProxyJump=userB@B,userC@C file userD@D:/path/to/target

如果不需要,请跳过定义用户:

scp -oProxyJump=B,C file D:/path/to/target

人 5 ssh_config

代理跳转

将一个或多个跳转代理指定为 [user@]host[:port] 或 ssh URI。多个代理可以用逗号分隔,并且将按顺序访问。设置此选项将导致 ssh(1) 连接到目标主机,方法是首先与指定的 ProxyJump 主机建立 ssh(1) 连接,然后建立从那里到最终目标的 TCP 转发。


考虑到文件的大小,您可能对连接中断时的故障保护感兴趣。rsync可以恢复中断的传输并利用 的ssh跳转主机选项:

rsync -P -e"ssh -oProxyJump=userB@B,userC@C" file userD@D:/path/to/target/

相关内容