文档首页> 技术教程> 内网数据库的跳板访问方式

内网数据库的跳板访问方式

发布时间:2026-02-08 19:00        更新时间:2026-02-08 20:33
临时要连内网数据库查数据时,走 SSH 隧道,别在安全组上给 3306 开公网口子。数据库暴露公网等于把暴力破解的入口递出去;隧道五分钟配好,安全性完全是另一个量级。 SSH 隧道是什么 把内网数据库的端口,通过一台有 SSH 权限的跳板机,转发到自己电脑上的一个本地端口:连本地端口,流量经加密通道到跳板机,再转给内网库。全程数据库端口不出内网。跳板机用一台最低配的云服务器就够,关键是密钥管理严格。整个过程数据库只面对跳板机,本机客户端的体验和直连几乎没有差别,只是多一跳延迟。 第一步:建立隧道 本机执行: ssh -N -L 3307:10.0.0.5:3306 andy@跳板机IP 参数拆开看:-L 3307:10.0.0.5:3306 表示把本机 3307 端口,转发到跳板机内网视角下 10.0.0.5 的 3306 端口;-N 表示只做端口转发、不执行远程命令。连 PostgreSQL 把 3306 换成 5432 即可。本地侧选 3307 是为了避开本机可能占用的 3306,不冲突就行。放后台加 -f;怕断线配 -o ServerAliveInterval=60 保活。 第二步:连本地端口 mysql -h 127.0.0.1 -P 3307 -u appuser -p 图形客户端同理:主机填 127.0.0.1,端口填 3307。完整链路是:本机 3307 → SSH 加密通道 → 跳板机 → 内网 10.0.0.5:3306。 第三步:验证与收尾 连上后执行 SELECT USER(), CURRENT_USER(); 确认连的是目标实例。排查连通性时,先在跳板机上直接连内网库测通断,能把问题拆成隧道内外两段定位。用完 exit 断开隧道,或在跳板机上用 who 找到自己的会话 kill 掉,不留常驻通道。 安全清单 跳板机只用密钥登录、禁用密码;临时查询建只读账号(先 CREATE USER 建号,再 GRANT SELECT ON appdb.* TO 'audit'@'10.0.0.%');安全组里 3306 的授权对象只留应用服务器网段。这套方案的价值不在方便,而在数据库端口任何时候都不需要对公网可见;隧道建立记录会留在跳板机的登录日志里,谁连过、何时连的一查便知,这也比开公网端口可追溯得多。