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

SSH tunnle to mongodb using mongodb connection string

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

我得到 mongodb 连接字符串:mongodb://user:password@123.123.123.111:27017/?authSource=admin

我希望能够通过以下操作从本地主机的端口 1234 连接到 mongo:mongo localhost:1234 解决方案是创建一个隧道,但我所做的一切都对我不起作用。

我尝试了以下命令:

ssh -L 1234:localhost:27017 user:password@123.123.123.111 -p 27017

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

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

ssh -L 1234:localhost:27017 UNIXuser@123.123.123.111

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

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

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

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

mongodb://user:password@127.0.0.1:1234/?authSource=admin