Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SSH隧道和Rsync通过两个代理/防火墙大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Screnario: [internal_server_1]AA------AB[firewall_1]AC----+ 10.2.0.3-^ ^-10.2.0.2 | internet 10.3.0.3-v v-10.3.0.2
Screnario:
[internal_server_1]AA------AB[firewall_1]AC----+
          10.2.0.3-^        ^-10.2.0.2         |
                                            internet
          10.3.0.3-v        v-10.3.0.2         |
[internal_server_2]BA------BB[firewall_2]BC----+

Ports AC,BC拥有有效的互联网地址.所有系统都运行linux并具有root权限.

需要安全rsync internal_server_1:/ some / path into internal_server_2:/ another / path

我的想法是在两个防火墙之间建立ssh安全隧道,例如:来自firewall_1

firewall1# ssh -N -p 22 -c 3des user2@firewall_2.example.com -L xxx/10.3.0.3/xxxx

之后将从internal_server_1运行rsync,有点像:

intenal1# rsync -az /some/path user@xxxx.yyyy.com:/another/path

我不知道

>如何为rsync创建正确的ssh隧道(哪些端口需要隧道)
>以及我将在哪里制作rsync? (在ssh隧道的情况下远程comp地址)

对于这种情况有任何想法或指向有用的互联网资源?

感谢名单.

解决方法

我假设firewall_2上的SSH端口(图中的“BC”)可以从外部访问.网络1(10.2.0.*)上的计算机可以直接(即通过NAT)到达互联网,还是仅通过firewall_1进行代理?既然你没有指定,我会假设没有.

可能最简单的事情是通过SSH隧道传输rsync(显然,“最简单”是相对的).首先,在firewall_1上运行它来构建外部隧道:

firewall_1# ssh -N -p 22 -c 3des user2@firewall_2.example.com -L 10.2.0.2:5432:10.3.0.3:22

请注意,这会在任意端口(我使用5432)上运行绑定到其内部IP(10.2.0.2)的隧道的本地(firewall_1)端.

然后,从server_1运行rsync并使用其-e选项通过SSH运行它:

server_1# rsync -e "ssh -N -p5432 -c 3des" -a /local/path server2user@10.2.0.2:/remote/path

此SSH连接到IP地址10.2.0.2上的端口5432,外部隧道转发到10.3.0.3(server_2)端口22(标准SSH).

便说一句,如果在多台计算机上协调设置(即从firewall_1创建隧道,然后从server_1使用它)很困难,请告诉我.稍微复杂一点,可以用一个命令从server_1中解决所有问题.然您应该能够设置一次外部隧道,然后将其保留下来……

大佬总结

以上是大佬教程为你收集整理的SSH隧道和Rsync通过两个代理/防火墙全部内容,希望文章能够帮你解决SSH隧道和Rsync通过两个代理/防火墙所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。