You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SSH连接MongoDB(27017端口)遇权限禁止错误的咨询

关于SSH连接MongoDB时出现“Open failed: administratively prohibited”的排查思路

既然你已经确认了AllowTcpForwarding yes配置正确,且其他端口(如8888)能正常转发,那这个问题确实大概率和27017端口或MongoDB本身的配置有关,分享几个常见的排查方向:

  • 服务器端防火墙拦截27017端口:很多时候SSH转发权限是开的,但服务器的系统防火墙(比如ufw、iptables)可能单独封禁了27017端口。你可以临时关闭防火墙测试,或者添加规则允许27017的流量,比如用ufw allow 27017(针对ufw防火墙)。

  • MongoDB的绑定IP限制:MongoDB默认配置里bindIp通常设为127.0.0.1,这意味着它只监听本地回环地址——哪怕SSH隧道把请求转发到服务器,MongoDB也不会响应来自隧道的连接。你需要修改/etc/mongod.conf里的bindIp为0.0.0.0(允许所有IP访问)或者包含SSH转发对应的IP,然后重启MongoDB服务(systemctl restart mongod)。

  • SSH的PermitOpen配置限制:虽然AllowTcpForwarding是开启的,但sshd_config里的PermitOpen选项可能限制了允许转发的目标端口或主机。比如如果配置了PermitOpen localhost:8888,那27017端口就会被禁止转发。检查这个配置项,确保没有针对27017的限制,或者直接设置为PermitOpen any来允许所有端口转发。

  • SELinux/AppArmor的安全规则限制:部分Linux发行版的安全增强模块可能会阻止SSH转发到MongoDB端口,或者限制MongoDB的网络连接。你可以临时关闭SELinux测试(setenforce 0),如果问题解决了,再调整SELinux规则来允许相关操作;对于AppArmor,检查MongoDB的配置文件是否允许监听27017端口。

  • 确认27017端口的状态:先确保MongoDB确实在监听27017端口,用命令netstat -tulpn | grep 27017查看,如果没有结果,说明MongoDB没正常启动或者端口被其他进程占用,需要先解决MongoDB的运行问题。

内容的提问来源于stack exchange,提问作者jim jarnac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:44:22