通过 ssh 隧道连接到 mongodb 失败
Connect to mongodb via ssh tunnel failing
我已尝试通过以下应用程序通过 ssh 隧道连接到我拥有的服务器上的 mongodb,但无法连接:
- 罗盘
- 机器人mongo
- nosqlbooster4mongo
- phpstorm 内置 mongodb java 连接器
服务器和mongo:
- 服务器:ubuntu 18lts
- 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 上创建一个隧道。
我已尝试通过以下应用程序通过 ssh 隧道连接到我拥有的服务器上的 mongodb,但无法连接:
- 罗盘
- 机器人mongo
- nosqlbooster4mongo
- phpstorm 内置 mongodb java 连接器
服务器和mongo:
- 服务器:ubuntu 18lts
- Mongo: 最新社区版本
所有实例中的连接 URL 都是相同的(也尝试删除查询参数)并且此 url 适用于节点应用程序:
mongodb://localhost:27017/data-aggregator?retryWrites=true&w=majority
nosqlbooster4mongo的错误信息是:
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 上创建一个隧道。