不允许 EC2 实例之间的 SSH

Fer*_*Dah 9 linux ssh amazon-ec2 amazon-web-services security-groups

我正在一个共享的 AWS 账户中设置几个 EC2 实例,并希望让它们相互访问。同时我想禁止账户中其他实例的访问。

我创建了一个安全组并添加了来自“我的 IP”的 SSH 访问权限以进行登录,并且效果很好。

现在我需要所有实例之间进行 SSH连接,但即使它们都在同一个安全组中,我也不能。

我怎样才能做到这一点?

MLu*_*MLu 13

所以你在 AWS 上设置了一些集群并且需要节点之间的 SSH 访问,对吗?您有 2 个选择:

  1. 最简单的方法是将每个实例 IP 添加到安全组入站列表 - 但这意味着每次在集群中添加新实例时都需要更新 SG。(如果你曾经这样做过)。不要这样做,我只是为了完整性才提到它。

  2. 使用安全组 ID本身作为流量来源好得多

    了解 SG 不仅是入站过滤器而且还标记所有出站流量很重要 - 然后您可以在相同或其他安全组中引用原始 SG ID。

查看您的 VPC中的默认安全组。你很可能会看到这样的事情:

自引用安全组

请注意,该规则是指安全组 ID 本身

使用此规则,来自作为您的安全组成员的任何主机的所有内容都将被该组中的所有其他成员/实例接受。

在您的情况下,您可能希望将其限制为 SSH、ICMP(如果您需要ping工作)或您需要的任何其他端口。

还要检查Outbound选项卡并确保它有一个All tr​​affic to条目0.0.0.0/0(除非您有特定的安全需求),否则实例将无法启动任何出站连接。默认情况下它应该在那里。

希望有帮助:)