场景及需求
一台内网Linux计算机A,没有修改内网路由的权限,现在需要在任何地方可以连接该服务器应用
一台公网Linux服务器B;
实现:
前提是A,B两台服务器之间已经做好互信。
A计算机通过SSH与B建立ssh隧道,B监听某个端口转发到A的某个端口。
A中下执行命令:
这样连接B的80端口就等于连接A的80端口。
FAQ
1.Q: 默认B的sshd只能监听127.0.0.1问题。
A: 需要修改B机器的/etc/ssh/sshd_config配置项,重载sshd服务
2.Q: 开启允许TCP转发功能。
A: 需要修改B机器的/etc/ssh/sshd_config配置项,重载sshd服务
3.Q:断线重连解决
A: autossh工具可以解决ssh断线重连,执行如下脚本
参考:
SSH反向隧道(端口转发)连接远程桌面 | X-Space
linux系统的3种端口转发方式 - Hi!Roy!
SSH端口转发(隧道) - Linux Wiki
SSH原理与运用(二):远程操作与端口转发 - 阮一峰的网络日志
领取专属 10元无门槛券
私享最新 技术干货