认为它应该是直截了当的,但我很难弄清楚以下内容:
我得到了 mongodb 连接字符串:
mongodb://user:[email protected]:27017/?authSource=admin
我希望能够通过以下方式从本地主机的端口 1234 连接到 mongo:
mongo localhost:1234
解决方案是创建一条隧道,但我所做的一切都不适合我。
我尝试了以下命令:
ssh -L 1234:localhost:27017 user:[email protected] -p 27017
请帮助我理解我做错了什么。
您需要在 123.123.123.111 上有一个 unix 用户
ssh -L 1234:localhost:27017 [email protected]
那么你的本地 mongodb 连接字符串是: mongodb://user:password@localhost:1234/?authSource=admin
MongoDB 和 ssh 使用不同的协议,因此您不能使用 ssh 直接连接到 mongod 进程。
如果您想使用 ssh 隧道,您首先需要在目标计算机上拥有一个帐户,然后使用该帐户的凭据通过 ssh 连接到端口 22(假设为默认端口)。 mongod 用户名/密码可能对 ssh 无效。
建立隧道后,您将使用驱动程序或 mongo shell 使用连接字符串连接到本地端口:
mongodb://user:[email protected]:1234/?authSource=admin
您可以使用 SSH 隧道来访问您的 MongoDB。
Linux/Mac ssh [电子邮件受保护] -L 27018:127.0.0.1:27017 -N
连接字符串:
mongodb://localhost:27018/thinkbetter?authSource=admin&retryWrites=true&w=majority&directConnection=true