我已设置mongodb仅在127.0.0.1上收听27017。我需要保持这种方式以保护我的数据库安全。虽然我需要能够使用Robo 3T远程连接到mongodb。有没有办法使用ssh连接连接到使用我的ssh凭证连接到localhost listen mongodb?
P.S。我有点像mongoDB的初学者。提前谢谢......
答案 0 :(得分:0)
是的,您可以使用SSH隧道。
转到:MongoDB Connections (Ctrl + N)
> Create
/ Edit
> SSH
标签
答案 1 :(得分:0)
为了在Robo 3T GUI上成功远程连接MongoDB,我在Ubuntu 18 Vagrant盒上做了一些配置。我已经按照以下步骤进行了说明。
$ mongo
在mongo shell中,键入以下命令以创建新的admin用户。
> use admin;
> db.createUser({user:"admin", pwd:"password", roles:[{ role: "root", db: "admin" }]});
默认情况下,将mongodb配置为仅允许来自localhost(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
保存并退出 mongod.conf 文件,然后重新启动mongodb服务器。
$ sudo servcie mongod restart
下载并安装Robo 3T GUI工具。
在Robo 3T GUI的连接设置中,您需要进行一些更改,如下所示: 屏幕截图下方。
输入您之前创建的mongodb admin 数据库用户名和密码。
在这里,我已经输入了Ubuntu 18 Vagrant box ssh凭证。
保存更改,然后按 connect 图标,查看连接是否正常。