Navicat不支持团队通用SSH隧道,因其SSH配置绑定于单个连接且无法全局复用;所谓“共享”实为成员各自配置相同参数,而非共用通道。
为什么“团队通用SSH隧道”在Navicat里根本不存在
navicat 的 ssh 隧道配置是**绑定在单个连接对象上的**,不支持全局复用或导出为独立隧道服务。所谓“共享连接”,实际是让多个成员各自配置一套相同参数的隧道连接——不是共享通道,而是共享配置模板。强行用一个 ssh 账号供多人长期共用,会触发服务器端登录限制、密钥冲突、审计混乱等问题,反而比每个成员配自己的更难维护。
配置前必须统一的 4 项基础信息
团队能“快速对齐”的前提,是提前约定并分发以下四类值,缺一不可:
-
ssh_host:跳板机/目标服务器公网 IP 或域名(如120.79.152.33) -
ssh_port:SSH 端口(默认22,但云厂商常改到2222或50022) -
ssh_user:**系统级用户名**(如ubuntu、ec2-user,不是数据库用户) -
mysql_host和mysql_port:隧道打通后,数据库在服务器内部的访问地址——几乎总是127.0.0.1+3306;若 MySQL 绑定在10.0.1.5,则填该内网地址,不能填公网 IP
密钥方式比密码方式更适合团队分发
用密码方式共享 SSH 登录,等于把服务器系统账号密码明文传给所有人,违反最小权限原则。推荐走密钥路线:
- 由运维生成一对专用密钥(如
navicat-team-id_rsa),私钥加密后分发,公钥写入~/.ssh/authorized_keys - Navicat 中“SSH”选项卡选择“公钥”,点击
...选中私钥文件,**不要勾选“保存密码”**(私钥本身有密码的话,每次输入一次) - 避免使用 PuTTY 格式(
.ppk),Navicat for macOS/Linux 只认 OpenSSH 格式;Windows 版虽支持.ppk,但跨平台协作时统一用id_rsa更省事 - 私钥文件权限必须是
600(chmod 600 id_rsa),否则 Navicat 会静默拒绝加载
测试连接失败时,优先查这三处
团队成员连不上,80% 出在以下环节,而不是 Navicat 界面操作错误:
- 本地是否能
ssh -i id_rsa ubuntu@120.79.152.33成功登录?连不通就别进 Navicat,先解决网络和认证问题 - MySQL 是否监听在
127.0.0.1:3306?执行sudo ss -tlnp | grep :3306,如果显示*:3306或:::3306,说明绑定了所有接口,存在安全隐患;应确认bind-address = 127.0.0.1已生效 - 数据库用户是否有从
localhost登录权限?运行SELECT host,user FROM mysql.user WHERE user='your_db_user';,结果里必须有一行localhost对应,不能只有%—— 因为隧道进来后,Navicat 是从服务器本机连 MySQL,等价于 localhost 连接
ssh 命令示例)。把隧道当成一次性基础设施来对待,比把它当成长期共享资产更可持续。


















