当前位置: 首页 > 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.rkmt.cn/news/78608.html

相关文章:

  • 第15周
  • 2025年数控折弯机模具厂家推荐及选型参考
  • 2025年口碑好的别墅座椅电梯厂家推荐,口碑好的别墅座椅电梯
  • 2025年单柱液压机厂家权威推荐榜单:冲压液压机‌/四柱液压机‌/三梁四柱液压机‌‌源头厂家精选
  • 想在井陉矿区老家农村盖房子,靠谱的自建房公司推荐。河北石家庄井陉矿区自建房公司/机构权威测评推荐排行榜。
  • 井陉矿区农村自建房找谁好?河北石家庄井陉矿区自建房公司/机构深度评测口碑推荐榜
  • 2025年本地铝丝打卡机生产厂家综合实力排行,国内知名的打卡机口碑推荐博锐诚信务实提供高性价比服务
  • 2025年度长三角地区五大发泡水泥靠谱厂家推荐,诚信厂家的防
  • 想在新华区老家农村盖房子,靠谱的自建房公司口碑推荐。河北沧州新华区自建房公司 / 机构权威测评推荐排行榜
  • 绘图之时序图
  • 新华区农村自建房找谁好?河北沧州新华区自建房公司 / 机构深度评测口碑推荐榜
  • 【IEEE出版 | EI检索】第五届人工智能与大数据国际学术研讨会 (AIBDF 2025)
  • 禅道 需求管理--让需求“有迹可循”
  • 安利6个flac转mp3工具,简单好用!
  • 崩溃了!N8N升级后插件全变红?教你2招完美解决!
  • netstat常用参数
  • 2025年高端家居源头工厂TOP10权威榜:真正能落地整屋高定的在这里
  • 2025年长三角地区发泡混凝土自流平供应商十大排行榜,精选推
  • 2025年十大宁波轻质气泡混凝土品牌厂家排行榜,高强度轻质气
  • 2025年316不锈钢水管品牌排名:AQUApipe不锈钢水
  • 2025年深圳有实力的微信朋友圈广告品牌企业排行榜,看哪家服
  • 2025年AI软件搜索广告结果优质服务商排名,资深投放与精准
  • 【节点】UnityShaderGraph节点分类介绍
  • python异步并发任务进度条
  • 集成灶烟机吸力大揭秘:排风量与风压表现优异的十大品牌权威榜单
  • 基于 GEE 利用 WorldPop 素材集批量导出 100 米分辨率人口影像数据与时序分析
  • 2025年视力保健公司权威推荐榜单:视力保护‌/视力健康管理‌/视力健康科技‌‌源头公司精选
  • Airflow - Installation
  • Linux Shell 命令:nohup、、、bg、fg、jobs 总结 - Binge
  • 2025年重庆五大结构加固补强公司推荐:靠谱的结构加固工程总