1. 使用场景
如上图
1. 主机A为linux在内网且无法上外网;
2. 主机B为windows,配置有双网卡,可以上内网也可以上外网,并且无外网IP;
3. 主机C为linux,是公网主机(vps),有公网IP;
4. 主机D为任何可以上公网的电脑;
那么主机D如何访问到主机A呢?
2. 使用xshell搭隧道
1. 在主机B上安装xshell
2. 使用xshell连接主机C,新建会话bwg,填写自己的外网主机IP和端口,和用户身份验证,注意重新连接需要填写。
如我的会话名称叫bwg
3. 打开日志,点击跟踪,勾选协议事件
4. 点击隧道,点击添加,按如下图填写转移规则
5. 使用主机C访问主机A
经过上面操作,打开新建的会话bwg时会有如下提示
此会话bwg即是主机C,在主机C上
ssh localhost -p 6634,按照提示输入yes和主机A的密码即可访问主机A
那么主机D如何直接访问主机A呢?
在主机C上配置sshd配置转发
1、 在主机C上编辑sshd配置文件/etc/ssh/sshd_config
GatewayPorts yes
2、 然后重启sshd
sudo systemctl restart sshd
3、 在其它主机D可以直接 ssh 主机C的IP(95.49.4.*) + 监听的端口(6634) 访问主机A
内外网都说linux服务器可以参考文章
Linux下ssh反向隧道进行内网穿透
https://www.jianshu.com/p/7362479db74f
网友评论