【问题标题】:AWS EC2 SSH Tunnel Bastion ServerAWS EC2 SSH 隧道堡垒服务器
【发布时间】:2020-06-04 12:14:16
【问题描述】:

试图了解这是如何工作的,文档不是很清楚。使用 AWS quickstart-mongo,我正在为 3 个 Mongo 节点制作一个 VPN,并带有一个堡垒服务器。我可以通过 SSH 和我的密钥登录我的堡垒服务器。然后我可以将密钥复制到堡垒服务器和 SSH 到主副本节点。该节点正在运行 mongo,并通过 rs.status() 显示所有 3 个节点都在正常运行。

登录堡垒服务器后,我尝试执行curl primary-mongo-node-ip:27017,但它似乎挂起。

本地计算机 -> 堡垒服务器 -> 副本节点 1 / 2 / 3

我想我知道我需要以某种方式连接到 Bastion 服务器,然后设置一个 ssh 转发到 primary-mongo-node-ip:27017, sec1-mongo-node-ip:27017, sec2-mongo-node-ip :27017,所以我的 mongo URI 连接如下所示:

SSH 进入 bastion-dns mongodb://user:pass@localhost:1000,localhost:1001,localhost:1002/database

如果我无法在没有 SSH 的情况下连接到堡垒服务器上的服务器,我该怎么做?

【问题讨论】:

    标签: mongodb amazon-web-services ssh ssh-tunnel


    【解决方案1】:

    假设 Mongo 实例允许来自 Bastion 主机(在安全组中)的流量用于所需端口,您可以使用 SSH 隧道机制从本地主机访问集群/实例:

    ssh -N -L <local_port_x>:<mongoDB instance ip>:<mongo_port_y> <ssh_username>@<bastion_host_ip> -i <ssh_key_path>
    

    Local_Port_X : 本地机器上要访问远程 Mongo 实例的端口

    MongoDB Instance IP : 用于托管 MongoDB 的 ec2 实例的 IP 地址

    Mongo_Port_Y:MongoDB 正在侦听的端口(从您的问题看来是 27017 - 请确认您可以在此端口上的堡垒主机内与 Mongo 实例通信)

    Bastion_Host_Ip : 堡垒主机上的 IP 地址,应该可以直接从您的本地计算机访问

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-19
      • 2019-09-10
      • 2020-07-24
      • 1970-01-01
      • 2021-08-17
      • 2021-08-30
      • 2017-10-20
      • 2014-12-13
      相关资源
      最近更新 更多