使用 mongodb 连接字符串 SSH 隧道到 mongodb

问题描述 投票:0回答:3

认为它应该是直截了当的,但我很难弄清楚以下内容:

我得到了 mongodb 连接字符串:

mongodb://user:[email protected]:27017/?authSource=admin

我希望能够通过以下方式从本地主机的端口 1234 连接到 mongo:

mongo localhost:1234
解决方案是创建一条隧道,但我所做的一切都不适合我。

我尝试了以下命令:

ssh -L 1234:localhost:27017 user:[email protected] -p 27017

请帮助我理解我做错了什么。

linux mongodb ssh openssh
3个回答
1
投票

您需要在 123.123.123.111 上有一个 unix 用户

ssh -L 1234:localhost:27017 [email protected]

那么你的本地 mongodb 连接字符串是: mongodb://user:password@localhost:1234/?authSource=admin


1
投票

MongoDB 和 ssh 使用不同的协议,因此您不能使用 ssh 直接连接到 mongod 进程。

如果您想使用 ssh 隧道,您首先需要在目标计算机上拥有一个帐户,然后使用该帐户的凭据通过 ssh 连接到端口 22(假设为默认端口)。 mongod 用户名/密码可能对 ssh 无效。

建立隧道后,您将使用驱动程序或 mongo shell 使用连接字符串连接到本地端口:

mongodb://user:[email protected]:1234/?authSource=admin

0
投票

您可以使用 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

© www.soinside.com 2019 - 2024. All rights reserved.