SSH 反向隧道访问内网服务

需求背景:在内网192.168.1.157win机器上装了虚拟机,虚拟机是centos系统,在centos中部署了StarRocks,虚拟机的地址是192.168.0.94,现在需要在服务器地址是120.xx.xx.xx的机器中部署一个go服务,使用go代码来连接内网192.168.0.94虚拟机里的StarRocks 9030 端口。

SSH 反向隧道:

原理:通过 SSH 的远程端口转发,将 120.xx.xx.xx 服务器的某个端口映射到内网虚拟机192.168.0.94的 9030 端口。

1、在内网虚拟机(192.168.0.94)上执行​​:

ssh -NfR 9030:localhost:9030 [email protected]

参数说明:

"-R 9030:localhost:9030" 将 120.xx.xx.xx 的 9030 端口转发到内网虚拟机的 9030 端口。

"root" 120.xx.xx.xx 服务器的用户名。

2、输入120.xx.xx.xx root的用户密码

3、修改 120.xx.xx.xx SSH 配置​​:
确保 120.xx.xx.xx 的 SSH 服务允许远程端口转发。

vi /etc/ssh/sshd_config

输入或编辑:

# 允许远程端口绑定到任意 IP(默认仅本地)
GatewayPorts yes    
AllowTcpForwarding yes

修改后重启 SSH 服务:

systemctl restart sshd

检查端口是否监听: 

# 检查端口是否监听(Linux 虚拟机)
netstat -tuln | grep 9030

SSH 反向隧道访问内网服务_第1张图片

​​在120.xx.xx.xx 上测试端口连接:
SSH 反向隧道访问内网服务_第2张图片

你可能感兴趣的:(运维,虚拟机,运维,ssh)