MongoDB 27017端口SSH连接失败,显示“waiting for connection”求助
SSH连接MongoDB实例排障步骤
基础连通性验证
- 检查SSH隧道是否生效:本地终端执行
netstat -an | grep <本地映射端口>(Linux/macOS)或netstat -ano | findstr <本地映射端口>(Windows),确认端口处于LISTEN状态。 - 直接测试SSH登录:执行
ssh <用户名>@<服务器IP>,排除网络、密钥或密码错误导致的连接问题。
目标服务器MongoDB配置检查
- 查看MongoDB配置文件(通常为
/etc/mongod.conf),确认bindIp设置不是仅绑定127.0.0.1(如需远程隧道访问,可设为0.0.0.0或保留127.0.0.1,因为SSH隧道转发到服务器本地回环)。 - 确认MongoDB服务状态:执行
systemctl status mongod(systemd系统)或service mongod status,确保服务处于active (running)状态。
SSH隧道命令/配置校验
- 确保端口转发命令格式正确,标准本地端口转发命令示例:
注意:命令中ssh -L <本地端口>:127.0.0.1:<远程MongoDB端口> <用户名>@<服务器IP>127.0.0.1是目标服务器的本地回环地址,对应MongoDB默认的本地监听地址。 - 若使用图形化工具(如Robo 3T),检查SSH隧道配置项:确认勾选"Use SSH tunnel",用户名、服务器IP、密钥/密码、本地与远程端口映射关系均正确。
防火墙与安全组排查
- 本地防火墙:确认未阻止<本地映射端口>的入站/出站请求。
- 目标服务器防火墙:检查iptables/ufw/firewalld规则,确保允许22端口(SSH)入站,同时允许本地回环访问MongoDB端口(默认27017)。
- 云服务器安全组:若为云实例,只需确保安全组允许22端口入站,无需开放MongoDB端口到公网(通过隧道访问无需公网暴露)。
本地连接测试
- 隧道建立后,先用命令行工具测试连通性:
优先通过命令行验证,排除图形化工具的配置干扰。mongosh --port <本地映射端口>
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

