【问题标题】:Robo 3T connect to mongodb using sshRobo 3T 使用 ssh 连接到 mongodb
【发布时间】:2022-03-01 03:39:57
【问题描述】:

我已将 mongodb 设置为仅在 127.0.0.1 上侦听 27017。我需要以这种方式保持数据库的安全性。虽然我需要能够使用 Robo 3T 远程连接到 mongodb。有什么方法可以使用 ssh 连接来使用我的 ssh 凭据将连接隧道连接到 localhost 监听 mongodb?

附:我是 mongoDB 的初学者。提前谢谢...

【问题讨论】:

标签: mongodb ssh


【解决方案1】:

是的,您可以使用 SSH 隧道。

转到:MongoDB Connections (Ctrl + N) > Create / Edit > SSH 选项卡

【讨论】:

    【解决方案2】:

    为了使用 Robo 3T GUI 成功远程连接 MongoDB,我在 Ubuntu 18 Vagrant 机器上做了一些配置。我已经在以下步骤中进行了解释。

    1. 在 Ubuntu 服务器上,打开 mongo shell 运行:
      $ mongo
      
    2. 在 mongo shell 中,输入以下命令来创建一个新的管理员用户。

      > use admin;
      > db.createUser({user:"admin", pwd:"password", roles:[{ role: "root", db: "admin" }]});
      
    3. 默认情况下,mongodb 配置为仅允许来自本地主机(IP 127.0.0.1)的连接。我们需要允许来自任何 IP 地址的远程连接。以下更改只能在您的开发服务器中进行。打开 etc/mongod.conf 文件并进行以下更改。

      # network interfaces
          net:
              port: 27017
              bindIp: 0.0.0.0   #default value is 127.0.0.1
      

      同样在同一个 mongod.conf 文件中取消注释安全选项并添加 authorization 选项,如下所示。

      security:
          authorization: enabled
      
    4. 保存并退出 mongod.conf 文件并重启 mongodb 服务器。

      $ sudo service mongod restart
      
    5. 下载并安装 Robo 3T GUI 工具。

    6. 在 Robo 3T GUI 上,在连接设置中,您需要进行一些更改,如下所示 下面是屏幕截图。

    输入你之前创建的mongodb admin数据库用户名和密码。

    在这里,我输入了我的 Ubuntu 18 Vagrant box ssh 凭据。

    保存更改并按连接图标查看连接是否正常。

    【讨论】:

    • 从安全角度来看,您不应该允许 mongo 服务器接受来自 0.0.0.0 IP 的连接。您应该将其绑定到一个 IP(或多个,如果可能的话),但不要绑定所有 IP。
    • 个人开发配置。
    【解决方案3】:

    刚刚做到了

    1. 无需更改 mongodb 设置中的任何内容
    2. 在 robomongo 中使用 localhost:27017 作为数据库地址
    3. 在 SSH 选项卡中添加您的登录详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2019-08-15
      • 2019-08-27
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多