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

无法通过Compass SSH连接Oracle Cloud免费层MongoDB 6.0:认证失败

Oracle Cloud Ubuntu VM上MongoDB通过Compass SSH隧道连接失败排查方案

一、调整MongoDB配置文件(核心排查点)

  • MongoDB默认仅绑定127.0.0.1,仅允许本地访问,需修改配置允许接收隧道请求:
    1. 编辑配置文件:sudo nano /etc/mongod.conf
    2. 找到net段,修改bindIp为VM私有IP或0.0.0.0(允许所有IP监听):
      net:
        port: 27017
        bindIp: 0.0.0.0  # 替换为你的VM私有IP也可
      
    3. 重启MongoDB服务:sudo systemctl restart mongod
    4. 验证监听状态:sudo lsof -i :27017,确认输出中包含0.0.0.0:27017或你的私有IP

二、验证Oracle云控制台网络配置

  • 安全列表(Security List):确保入站规则允许SSH(22端口)(已能SSH登录则可跳过),MongoDB端口无需对外暴露(隧道是通过SSH转发),但需确认VM所在子网无额外网络限制
  • 确认VM私有IP的可用性:在VM本地执行ping <VM私有IP>,确保能正常连通

三、手动验证SSH隧道与密钥配置

  • 绕开Compass,手动建立隧道测试:
    在Mac终端执行:
    ssh -L 27017:<VM私有IP>:27017 <VM登录用户名>@<VM公网IP> -i <你的SSH密钥文件路径>
    
    保持终端打开,另开一个终端用mongosh连接本地端口:
    mongosh "mongodb://<Mongo用户名>:<Mongo密码>@localhost:27017"
    
    • 若能连接:说明隧道和MongoDB服务正常,问题出在Compass配置
    • 若不能连接:继续排查以下点:
      1. 检查SSH密钥权限:Mac上密钥文件必须设为600权限,执行chmod 600 ~/.ssh/你的密钥文件
      2. 确认Compass中SSH配置:密钥路径、VM登录用户名、公网IP完全正确,无拼写错误

四、MongoDB用户权限与兼容性排查

  • 用户权限验证:确认MongoDB用户具备远程连接权限,比如在admin库创建的用户需包含对应角色:
    use admin
    db.createUser({
      user: "your_user",
      pwd: "your_pwd",
      roles: [{ role: "readWrite", db: "your_db" }, { role: "userAdminAnyDatabase", db: "admin" }]
    })
    
  • 版本兼容性:MongoDB 6.0与Compass 1.34.0是兼容的,若手动隧道能连但Compass不行,可尝试升级Compass至最新版

五、UFW防火墙二次验证

  • 确认UFW规则允许MongoDB端口访问:
    执行sudo ufw status,检查是否存在27017端口的允许规则,若没有则添加:
    sudo ufw allow from 127.0.0.1 to any port 27017
    sudo ufw reload
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:55:20