通过 ssh 隧道连接到 mongodb 失败

Connect to mongodb via ssh tunnel failing

我已尝试通过以下应用程序通过 ssh 隧道连接到我拥有的服务器上的 mongodb,但无法连接:

服务器和mongo:

所有实例中的连接 URL 都是相同的(也尝试删除查询参数)并且此 url 适用于节点应用程序:

mongodb://localhost:27017/data-aggregator?retryWrites=true&w=majority

nosqlbooster4mongo的错误信息是: 但是连接 url 是 27017 并且由于某种原因被更改为 37903

PHPStorm 的错误信息是:

DBMS: Mongo DB Case sensitivity: plain=mixed, delimited=mixed Driver: MongoDB JDBC Driver (ver. 1.13, JDBC4.2) Effective version: UNKNOWN (ver. 0.0) Ping: 10 sec, 289 ms (keep-alive query results in error)

Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:42865, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadException: Exception receiving message}, caused by {java.net.SocketException: Connection reset}}].

没有任何效果,但我不明白为什么。

经 nosqlbooster4mongo 和 phpstorm

确认,SSH 连接正常工作

但是一旦它尝试连接到本地 mongodb 实例,它就会失败。我不知道这是 SSH 隧道还是 mongo 设置的问题。通过终端我可以连接到 mongo 没问题,那里的节点应用程序也可以。

隧道使用的密钥与我通过终端毫无问题地连接到服务器所用的密钥相同,这让我相信它是 mongo,但我不知道去哪里查找:/

由于隧道已建立,这表示服务器防火墙不是问题。

我不知道它是什么,是否有用于 ssh 隧道访问的附加查询参数?

由@Jack_Woehr 于:https://www.mongodb.com/community/forums/t/mongo-5-community-edition-cannot-connect-via-tunnel/151526

解决

诀窍是不使用列出的任何工具中的 ssh 隧道,而只是在 OS 上创建一个隧道。