通过SSH端口连接到AWS

时间:2018-01-22 14:48:09

标签: mongodb amazon-web-services amazon-ec2 openssh

我想连接到我的AWS实例并通过localhost连接到我的MongoDB数据库。 SSH隧道似乎可以工作,但是当我尝试与mongo连接时,我收到连接失败错误。

SSH隧道命令:

ssh -i <path to key> -N -L 27017:++++++++++.us-west-2.compute.amazonaws.com:27017 ++++++@++++++++++.us-west-2.compute.amazonaws.com

Mongo客户:

mongo -u ++++++++++++++++++++++++++++++++++++++++

MongoDB shell version v3.4.7
connecting to: mongodb://localhost:27017/++++++
2018-01-22T15:32:07.125+0100 E QUERY    [thread1] Error: network error while attempting to run command 'isMaster' on host 'localhost:27017'  :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed

在隧道方面,我得到:

channel 2: open failed: connect failed: Connection refused

我已经在服务器上直接尝试了mongo命令,然后就可以了。

在我的Robo T3客户端上,有一个通过SSH连接的选项,连接工作正常。

非常感谢任何建议。

修改

当我启动mongo客户端时,没有新行添加到mongdb日志文件中。这表明隧道没有做好工作......

1 个答案:

答案 0 :(得分:1)

根据this documentation,当您尝试连接到MongoDB服务器而没有ssl 时会发生此错误。

然后解决方案是使用SSL进行连接,这可以通过将 @Bean public Docket customImplementation(){ return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("your base package")) .paths(PathSelectors.any()) .build(); 添加到您的连接查询来完成(因此它看起来像这样:--ssl)。

请告诉我这是否适合您!