案例说明
假设我有一台处于局域网的服务器 A,但由于没有公网 IP,因此我们无法直接从外网连接这个服务器。不过服务器 A 能访问具有公网IP的服务器B。那么我们就可以在服务器 A 上做到服务器 B 的反向代理,然后我们便能通过服务器 B 来连接服务器 A。
操作步骤
首先修改服务器 B 的 sshd_config 配置文件:
# 打开配置文件
sudo vim /etc/ssh/sshd_config
# 将 GatewayPort 的注释取消并把值改成yes
GatewayPort yes
修改保存后,执行如下命令将 sshd 服务重启下:
sudo systemctl restart sshd
在A服务器上执行如下命令
ssh -[f]NR rPort:localhost:lPort username@rHost
# f: 后台运行
# N:仅做端口转发
# R:反向代理
ssh -fNR 8080:192.168.0.103:8000 tiffin@mdatacenter.mhccenter.com
连接测试
nmap -sS -Pn rHost
# 通过这个命令即可查看到rPort由原来的关闭状态变成了打开状态