如何设置 SSH 隧道以连接到位于 AWS EC2 服务器上的 ElasticSearch 和 MongoDB?

Posted

技术标签:

【中文标题】如何设置 SSH 隧道以连接到位于 AWS EC2 服务器上的 ElasticSearch 和 MongoDB?【英文标题】:How to setup SSH tunnel to connect to my ElasticSearch and MongoDB residing on AWS EC2 server? 【发布时间】:2018-12-31 18:17:18 【问题描述】:

我是第一次尝试 SSH 隧道,因此,我期待一些指导(带有解释)来设置 SSH 隧道,以便我可以从我的 Windows 客户端计算机连接到 ElasticSearch 和 MongoDB 之类的东西驻留在 AWS EC2 Windows Server 上。

【问题讨论】:

【参考方案1】:

这是为 MongoDB 创建到服务器的隧道的方法,

ssh -L 9999:127.0.0.1:27017 user@serverip -NnT

现在您可以通过端口 9999 上的隧道访问远程 mongodb,因此您现在可以从本地连接到 mongodb 服务器,

mongo --host 127.0.0.1 --port 9992

同样,您也可以通过指定弹性搜索端口来为弹性搜索创建自己的隧道,如下所示,

ssh -L 9200:127.0.0.1:9200 user@serverip -NnT

没有更多关于通过端口访问弹性的知识,但这可能会有所帮助。

【讨论】:

此命令是否也适用于 Windows?另外,如果你能给我进一步解释这些命令 不确定 putty 中的 windows 但此命令适用于 macOS 和 Ubunutu 我应该在客户端 Windows 机器上还是在 AWS EC2 Windows 机器上运行命令? 命令中的user@serverip是什么?我应该用别的东西代替它吗? 是的,您需要将其替换为 root@your_aws_cloud_Server_ip

以上是关于如何设置 SSH 隧道以连接到位于 AWS EC2 服务器上的 ElasticSearch 和 MongoDB?的主要内容,如果未能解决你的问题,请参考以下文章

通过 AWS SSM 代理命令设置 SSH 隧道

反向 ssh 隧道不暴露 ec2 上的端口

如何从本地使用 SSL 加密连接到 AWS RDS?

带有 aws SSM 的 SSH 隧道

如何通过 SSH 隧道通过 AWS 堡垒/跳转服务器从笔记本电脑访问 phpMyAdmin 到使用 .ssh/config 的 EC2 实例

AWS:将S3 Bucket安装到EC2实例。 (后来的FTP隧道)