Navicat中文网站 > 使用技巧 > Navicat怎么设置SSH隧道连接 Navicat SSH隧道连接超时如何排查
Navicat 帮助中心 帮助类别

Navicat怎么设置SSH隧道连接 Navicat SSH隧道连接超时如何排查

发布时间:2026-08-31 15: 38: 00

Navicat可以通过SSH隧道访问不能直接暴露数据库端口的远程服务器,连接时先建立到SSH服务器的加密通道,再由SSH服务器访问数据库。配置中同时存在两组主机、端口和账号:一组属于数据库,另一组属于SSH服务器。出现连接超时时,应先判断SSH通道本身是否能够建立,再检查隧道建立后能不能从SSH服务器访问数据库,避免把数据库地址、SSH地址和两套账号混在一起修改。

一、Navicat怎么设置SSH隧道连接

Navicat 17可以在数据库连接属性的SSH页面直接开启隧道,支持密码和公钥认证。数据库连接参数仍然填写在常规页面,SSH账号不能替代数据库账号。

1、先填写数据库连接信息

①打开【Navicat】,选择【连接】并创建对应数据库连接。

②进入连接属性的【常规】页面。

③填写【连接名】。

④在【主机】中填写数据库服务器从SSH服务器一侧能够访问到的地址。

⑤数据库与SSH服务位于同一台服务器时,可以先填写【127.0.0.1】或数据库实际监听地址。

⑥数据库位于另一台内网服务器时,填写该数据库的内网IP或主机名。

⑦填写数据库【端口】,例如MySQL通常为【3306】,PostgreSQL通常为【5432】。

⑧填写数据库【用户名】和【密码】。

这里的【主机】不是固定填写本机地址,而是要按照SSH服务器访问数据库时看到的网络地址设置。如果数据库在独立内网主机上,把它误写成127.0.0.1,隧道能够建立,后面的数据库连接仍然会失败。

2、开启SSH隧道

①切换到连接属性的【SSH】页面。

②勾选【使用SSH隧道】。

③在【主机】中填写SSH服务器公网IP或域名。

④在【端口】中填写SSH服务端口,默认通常为【22】。

⑤填写SSH服务器的【用户名】。

⑥使用账号密码登录时,把【认证方法】设置为【密码】。

⑦填写SSH登录密码。

⑧保存连接设置。

⑨执行一次【测试连接】。

SSH页面的用户名属于SSH服务器账号,与常规页面中的数据库用户名是两套身份。例如SSH使用linuxuser登录,并不代表MySQL也需要使用linuxuser。

3、使用私钥进行SSH认证

①在【SSH】页面找到【认证方法】。

②选择【公钥】。

③在【私钥】中选择实际使用的Private Key文件。

④私钥设置过密码时填写【密码短语】。

⑤确认服务器端已经保存与该私钥对应的公钥。

⑥重新执行【测试连接】。

⑦认证失败时,先使用其他SSH客户端验证同一私钥能否登录。

Windows环境如果使用SSH Agent,Navicat也支持通过对应的Agent配置读取身份信息,但普通单服务器环境直接指定Private Key更便于排查。

二、Navicat SSH隧道连接超时如何排查

SSH连接超时和密码错误并不是一类问题。长时间等待后才提示Timeout,更应该先检查网络地址、SSH端口和防火墙;能够迅速连接到SSH服务器但认证被拒绝,再处理账号和密钥。

1、确认SSH服务器和端口可以访问

①检查【SSH】页面的【主机】有没有写成数据库内网地址。

②重新确认SSH服务器当前公网IP或域名。

③核对SSH实际监听端口是否仍为【22】。

④如果服务器改用了其他端口,把Navicat中的【端口】同步修改。

⑤在Windows上可以使用【Test-NetConnection SSH服务器地址-Port 22】测试端口。

⑥也可以使用【ssh-p 22用户名 服务器地址】单独测试SSH登录。

⑦外部SSH客户端同样超时时,继续检查云服务器安全组和系统防火墙。

⑧确认当前客户端网络没有屏蔽目标SSH端口。

如果TCP端口本身不能连通,修改Navicat里的数据库密码、数据库端口或Connection Timeout不会解决SSH超时。

2、检查SSH认证信息

①确认【用户名】属于SSH服务器,而不是数据库用户。

②密码认证时重新输入SSH账号密码。

③公钥认证时重新选择正确的【私钥】。

④私钥经过加密时确认【密码短语】正确。

⑤使用同一账号和密钥在独立SSH客户端登录。

⑥如果命令行能够登录而Navicat仍然失败,再检查Navicat中选择的认证方式和密钥文件。

⑦服务器关闭密码登录后,不要继续使用【密码】方式测试。

先把SSH登录单独验证成功,可以把网络层和身份认证问题与数据库连接问题分开。

3、检查服务器是否允许端口转发

出现“SSH客户端能够登录,但Navicat始终不能建立隧道”时,需要检查SSH Server的端口转发配置。

①登录Linux SSH服务器。

②检查【/etc/ssh/sshd_config】。

③找到【AllowTcpForwarding】。

④确认没有设置为【no】。

⑤需要使用SSH端口转发时应允许该功能。

⑥服务器存在用户级或Match规则时,再确认当前账号没有被单独禁止转发。

⑦配置修改后由服务器管理员重新加载SSH服务。

⑧返回Navicat重新测试连接。

Navicat官方把【AllowTcpForwarding】列为“其他SSH客户端能登录,但Navicat无法建立SSH隧道”时的直接检查项。

三、SSH连接正常但Navicat仍超时怎么继续检查

SSH认证成功只能证明客户端已经到达跳板服务器,后面还要建立从SSH服务器到数据库的连接。如果此时等待较长时间再报错,就应把检查位置转到常规页面中的数据库主机和数据库端口。

1、核对数据库主机填写方式

①重新打开连接的【常规】页面。

②检查【主机】是不是数据库从SSH服务器一侧能够访问的地址。

③数据库就在SSH服务器本机时测试【127.0.0.1】。

④数据库位于内网其他机器时改为实际内网IP或DNS名称。

⑤确认【端口】填写的是数据库端口,不是SSH端口。

⑥保存后重新测试。

例如SSH服务器是公网服务器A,数据库实际位于内网服务器B,那么SSH页面填写A,而常规页面的数据库主机应填写A能够访问到的B地址。

2、从SSH服务器测试数据库端口

①先正常SSH登录服务器。

②测试服务器能否连接目标数据库主机。

③检查MySQL的【3306】、PostgreSQL的【5432】或实际自定义端口。

④端口无法连接时检查数据库服务是否已经启动。

⑤检查数据库是否监听正确网卡地址。

⑥查看SSH服务器到数据库服务器之间的防火墙规则。

⑦数据库位于云内网时,检查对应安全组或访问控制规则。

如果SSH已经成功,而这一段网络不可达,Navicat最终仍会表现为数据库连接超时。

3、再检查连接超时参数

①打开连接的【高级】设置。

②找到【连接超时】。

③网络延迟确实较高时,可以适当增加等待时间。

④连接建立后经常因长时间空闲断开时,再检查【Keepalive interval】。

⑤修改后重新测试。

⑥错误主机、错误端口或服务器无法访问时,不要靠持续增加Connection Timeout处理。

【连接超时】控制等待连接建立的时间,【Keepalive interval】主要用于保持已经建立的连接,两者不能代替网络和服务器端配置检查。

总结

Navicat设置SSH隧道时,需要把数据库连接参数和SSH连接参数分开填写,并确认数据库主机地址是从SSH服务器角度能够访问的地址。发生超时时,可以先验证SSH主机和端口,再检查账号认证及SSH端口转发;SSH已经正常后,则继续测试SSH服务器到数据库服务器之间的网络和数据库监听状态。这样可以较快判断故障发生在隧道建立之前还是数据库连接阶段。如需进一步了解Navicat SSH隧道配置、远程数据库连接与连接超时排查方法,欢迎联系咨询。

展开阅读全文

标签:设置SSHSSH设置

Copyright © 2026 Navicat数据库管理软件
- 苏州苏杰思网络有限公司
|
软件使用须知 |
证照信息 |
特聘法律顾问:江苏政纬律师事务所 宋红波

咨询热线

在线咨询

限时折扣