Amazon EC2实例连接SSH - 安全组?

8
我正在使用2019年6月发布的新型EC2浏览器SSH连接功能来访问EC2。这非常方便,因为我使用的是Windows系统,使用PuTTy进行AWS身份验证配置很麻烦,而且传统的浏览器SSH提供程序从未完全适合我的需求。
我可以通过AWS控制台连接到EC2实例,如下所示:enter image description here如果启用了任何IP地址的SSH,则可以正常运行。但是,当我将SSH安全组设置为我的IP地址时,SSH shell就会挂起。enter image description here 我确认这是我的正确公共IP地址,并尝试使用我的私有IPV4地址 - 但没有成功。但是,当将CIDR块设置为anywhere时,连接就可以正常工作。enter image description hereenter image description here 我想,也许这个新特性在某个地方使用了代理shell,因此我需要允许访问该中介的地址。我是在家中办公桌面上进行操作,而不是在企业或复杂的环境中,并且使用我的根AWS凭据(是的,我知道这是一个最糟糕的做法)。

没有办法在亚马逊控制台上发布最小示例。问题已经足够清晰,以便立即获得正确答案。请再看一遍,我没有发布代码、错误或输出的图像 - 只是来自AWS控制台的配置。 - Adam Hughes
1个回答

26
啊!令人惊叹的新AWS EC2 Instance Connect服务。很高兴看到您在使用它!
EC2 Instance Connect通过在您的计算机上运行的Web浏览器与后端EC2 Instance Connect服务之间建立HTTPS连接来工作。然后,EC2 Instance Connect建立了一个“大多正常”的SSH连接到目标实例。(稍有不同的是推送临时密钥的方式。)
因此,连接似乎来自EC2 Instance Connect服务而不是您自己的计算机!
因此,安全组应该允许来自EC2 Instance Connect服务而不是"My IP"的入站连接。
您可以从AWS IP地址范围获取相关IP地址范围。这是一个提供每个AWS服务IP范围的JSON文件。
例如,这是悉尼地区的范围:
{
"ip_prefix": "13.239.158.0/29",
"region": "ap-southeast-2",
"service": "EC2_INSTANCE_CONNECT"
},

因此,您可以将此CIDR放入安全组中,并在悉尼地区启用EC2实例连接。 (请参阅https://ip-ranges.amazonaws.com/ip-ranges.json文件以获取您所在地区的相关范围。)

我认为经常监视 JSON 文件中的更改以查找需要配置安全组以允许使用 EC2 实例连接的当前 IP 范围是不切实际的。我们如何在实践中确保一次性安全组配置,以便将来不会出现问题? - ACloudRoamer
@ACloudRoamer 请查看 AWS IP地址范围 - AWS IP地址范围通知 "每当 AWS IP地址范围发生变化时,我们会向 AmazonIpSpaceChanged 主题的订阅者发送通知。" - John Rotenstein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接