5

我正在使用新的(2019 年 6 月)EC2 浏览器 SSH 连接功能将 shell 插入 EC2。这非常方便,因为我在 Windows 上,使用 AWS auth 配置 PuTTy 很烦人,而旧版浏览器 SSH 产品对我来说从来没有用过。

我可以通过 AWS 控制台连接到 EC2 实例,如下所示

在此处输入图像描述

如果为任何 IP 地址启用 SSH,它就可以完美运行。但是,当我将 SSH 安全组设置为我的 IP 地址时,SSH shell 只是挂起。

在此处输入图像描述

我已经确认这是我正确的公共 IP 地址,并且我也尝试过使用我的私有 IPV4 地址 - 不走运。但是,将 CIDR 块设置为任何位置时,连接工作正常。

在此处输入图像描述

在此处输入图像描述

想也许这个新功能在某处使用了代理外壳,所以我必须允许访问这个中介的地址。

我是在我的家庭办公室桌面上执行此操作,而不是从企业或复杂环境中执行此操作,并使用我的根 AWS 凭证(是的,我知道这是最糟糕的做法)。

4

1 回答 1

11

啊! 精彩的全新AWS EC2 Instance Connect服务。很高兴看到你正在使用它!

EC2 Instance Connect 通过在您的 Web 浏览器(在您的计算机上运行)和后端 EC2 Instance Connect 服务之间建立 HTTPS 连接来工作。然后,EC2 Instance Connect 与目标实例建立“基本正常”的 SSH 连接。(细微的差别在于将临时密钥推送到实例的方式。)

结果,连接似乎来自 EC2 Instance Connect 服务,而不是您自己的计算机!

因此,EC2 实例上的安全组不应接受来自“我的 IP”的连接,而应允许来自 EC2 Instance Connect 服务的入站连接。

您可以从AWS IP Address Ranges获取相关的 IP 地址范围。这是一个 JSON 文件,为每个 AWS 服务提供 IP 范围。

例如,这里是悉尼地区的范围:

{
"ip_prefix": "13.239.158.0/29",
"region": "ap-southeast-2",
"service": "EC2_INSTANCE_CONNECT"
},

因此,您可以将此 CIDR 放在安全组中,它会在悉尼区域内启用 EC2 Instance Connect。(有关您所在地区的相关范围,请参阅https://ip-ranges.amazonaws.com/ip-ranges.json文件。)

于 2019-07-06T23:34:42.133 回答