当前位置: 首页 > news >正文

内网服务不想暴露公网?SSH隧道帮你安全搞定

线上有个MySQL在内网,开发环境想连上去调试,但又不想开公网端口。用SSH隧道,3分钟搞定。

为什么要用SSH隧道

很多时候我们有这样的需求:

  • 本地想访问服务器内网的数据库/Redis
  • 临时让外部访问本地的测试服务
  • 想通过跳板机访问多层内网的服务

这些场景,SSH隧道都能搞定,而且比开端口安全多了。

三种转发模式详解

1. 本地转发(-L):把远程端口映射到本地

场景:服务器内网有个MySQL(3306),本地想用Navicat连。

ssh -L 13306:127.0.0.1:3306 user@server

原理

本地13306 → SSH隧道 → 服务器 → 127.0.0.1:3306

执行后,本地访问127.0.0.1:13306就相当于访问服务器上的MySQL。

实战配置

# 后台运行,不占用终端
ssh -fNL 13306:127.0.0.1:3306 user@server# 参数说明:
# -f 后台运行
# -N 不执行远程命令
# -L 本地转发

高级用法:访问服务器能访问的其他内网机器

# 通过跳板机访问内网192.168.1.100的Redis
ssh -L 16379:192.168.1.100:6379 user@跳板机

2. 远程转发(-R):把本地端口映射到远程

场景:本地开发了个Web服务(8080),想让外网临时访问测试。

ssh -R 18080:127.0.0.1:8080 user@server

原理

外网 → 服务器18080 → SSH隧道 → 本地8080

执行后,访问服务器IP:18080就能访问本地的8080服务。

注意:需要服务器sshd配置允许:

# /etc/ssh/sshd_config
GatewayPorts yes

3. 动态转发(-D):SOCKS5代理

场景:想通过服务器代理访问一些内网资源。

ssh -D 1080 user@server

原理

本地SOCKS5代理(1080) → SSH隧道 → 服务器 → 目标地址

浏览器或其他软件配置SOCKS5代理127.0.0.1:1080,所有流量都走服务器出去。

curl测试

curl --socks5 127.0.0.1:1080 http://内网地址

实战:通过跳板机访问多层内网

公司网络架构:本地 → 跳板机 → 生产内网 → 数据库

方案一:两跳隧道

# 第一跳:本地到跳板机
ssh -L 2222:生产服务器IP:22 user@跳板机# 第二跳:通过第一跳连接生产服务器
ssh -L 13306:127.0.0.1:3306 -p 2222 user@127.0.0.1

方案二:ProxyJump(推荐)

# SSH配置文件 ~/.ssh/config
Host 跳板机HostName 跳板机IPUser your_userHost 生产服务器HostName 生产内网IPUser your_userProxyJump 跳板机# 一条命令直连
ssh -L 13306:127.0.0.1:3306 生产服务器

保持连接不断开

SSH隧道容易因为空闲而断开,加上这些配置:

# ~/.ssh/config
Host *ServerAliveInterval 60ServerAliveCountMax 3TCPKeepAlive yes

或者用autossh自动重连:

# 安装
# Ubuntu: apt install autossh
# CentOS: yum install autossh
# Mac: brew install autossh# 使用(自动重连)
autossh -M 0 -fNL 13306:127.0.0.1:3306 user@server

常见问题排查

1. 连接被拒绝

# 检查SSH服务状态
systemctl status sshd# 检查端口监听
ss -tlnp | grep 22

2. 远程转发不生效

# 检查sshd配置
grep GatewayPorts /etc/ssh/sshd_config# 需要设置为yes并重启sshd

3. 连接后立即断开

# 检查是否加了-N参数
ssh -fNL 13306:127.0.0.1:3306 user@server
#      ^ 这个N很重要

说句实话

SSH隧道适合临时使用,用来调试很方便。但如果是长期需求,比如经常要远程访问内网服务、多台机器互联,配置起来就比较繁琐了。

我现在用星空组网,直接把需要的机器组到一个虚拟局域网里,互相访问就像在同一个内网,不用每次都配隧道,也不用担心连接断开,省事很多。

总结

模式 参数 场景 方向
本地转发 -L 访问远程内网服务 远程→本地
远程转发 -R 暴露本地服务到远程 本地→远程
动态转发 -D SOCKS5代理 全部流量

记住这个口诀:L是拉(把远程拉到本地),R是推(把本地推到远程),D是代理


相关命令速查

# 本地转发:访问远程MySQL
ssh -fNL 13306:127.0.0.1:3306 user@server# 远程转发:暴露本地Web
ssh -fNR 18080:127.0.0.1:8080 user@server# 动态代理
ssh -fND 1080 user@server# 查看已建立的隧道
ps aux | grep ssh
http://www.jsqmd.com/news/68075/

相关文章:

  • 完整教程:Java Maven Log4j 项目日志打印
  • 2025年靠谱的泥水盾构机/岩石盾构机品牌厂家排行榜
  • 2025年比较好的顶管机中继间/矩形顶管机品牌厂家排行榜(热门)
  • 第15周
  • Arbess零基础学习 - 使用Arbess+GitLab+Hadess搭建Java项目自动化构建/主机部署/上传制品
  • 3U VPX板卡设计原理图:基于RFSOC的8路5G ADC和8路9G的DAC 3U VPX卡
  • 2025年数控折弯机模具厂家推荐及选型参考
  • 2025年高强发泡混凝土自流平实力厂商排名:靠谱的发泡混凝土
  • 2025年口碑好的别墅座椅电梯厂家推荐,口碑好的别墅座椅电梯
  • 靠谱的轨道式座椅电梯厂家TOP5权威推荐:甄选专业品牌守护长
  • 2025年环保的全屋定制厂商推荐,实现绿色环保家居生活
  • 2025年市面上正规的尘埃在线监测系统工厂排名,0.1um尘埃粒子计数器/便携式粒子计数器/尘埃在线监测系统生产厂家哪家强
  • 必看!2025年高口碑LED源头厂家推荐榜
  • 2025年度微动开关制造商综合实力排行,汽车微动开关/大电流微动开关/小型微动开关/防水微动开关/新能源微动开关供货商怎么选
  • 运河区农村自建房找谁好?河北沧州运河区自建房公司 / 机构深度评测口碑推荐榜
  • 2025年闭式冷却塔厂家权威推荐榜单:封闭式凉水塔‌/复合式冷却塔‌/封闭的冷却塔‌‌源头厂家精选
  • FreeRTOS 在 AS32系列RISC-V 架构MCU电机驱动中的应用实践与优化 - 指南
  • 2025年国内铜球生产厂家推荐,看看哪家技术强?
  • 2025年单柱液压机厂家权威推荐榜单:冲压液压机‌/四柱液压机‌/三梁四柱液压机‌‌源头厂家精选
  • 2025年优质乳胶床垫定制厂家有哪些?主要有哪些市场优势?
  • 想在井陉矿区老家农村盖房子,靠谱的自建房公司推荐。河北石家庄井陉矿区自建房公司/机构权威测评推荐排行榜。
  • 井陉矿区农村自建房找谁好?河北石家庄井陉矿区自建房公司/机构深度评测口碑推荐榜
  • 2026年河北石家庄井陉矿区农村自建房推荐榜,图南建房宝领衔 六家实力公司赋能乡村宜居生活
  • 2025年本地铝丝打卡机生产厂家综合实力排行,国内知名的打卡机口碑推荐博锐诚信务实提供高性价比服务
  • 2025农村饮用水一体化净水设备核心性能深度评测报告
  • 创建产品,提出研发需求并审批
  • 2025年植保机锂电池厂家推荐与聚合物锂电池产品解析
  • 2025年度长三角地区五大发泡水泥靠谱厂家推荐,诚信厂家的防
  • 想在新华区老家农村盖房子,靠谱的自建房公司口碑推荐。河北沧州新华区自建房公司 / 机构权威测评推荐排行榜
  • 绘图之时序图