不允许 EC2 实例之间的 SSH

不允许 EC2 实例之间的 SSH

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

我创建了一个安全组并添加了从“我的 IP”进行的 SSH 访问以便登录,并且运行良好。

现在我需要 SSH之间所有实例,但我不能,即使它们都在同一安全组

我怎样才能做到这一点?

答案1

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

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

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

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

看看默认您的 VPC 中的安全组。您很可能会看到类似以下内容的内容:

自引用安全组

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

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

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

还请检查出站选项卡,并确保其中有一个条目所有流量(除非0.0.0.0/0您有特定的安全需求),否则实例将无法发起任何出站连接。默认情况下它应该在那里。

希望有帮助:)

答案2

在您想要使用的安全组配置中允许实例之间的 SSH:

  1. 前往入站标签
    1. 点击编辑
    2. 点击添加规则
    3. 为了类型选择SSH
    4. 为了来源输入安全组 ID
    5. 节省
  2. 前往欧邦标签
    1. 点击编辑
    2. 点击添加规则
    3. 为了类型选择SSH
    4. 为了目的地输入安全组 ID
    5. 节省

答案3

您应该添加一条启用 SSH 的规则,其源是组 ID 本身。

例如,如果你的安全组 ID 是,sg-12345678你可以在该组中添加一条规则,该规则会打开SSHsg-12345678

还要确保出站0.0.0.0/0选项卡有或至少再次有 SSH 的规则,sg-12345678否则出站流量将被阻止。默认情况下0.0.0.0/0应该在那里。

答案4

允许您为其分配的安全组进行 ssh 访问。

相关内容