不允许在EC2实例之间进行SSH


9

我正在共享的AWS账户中设置一些EC2实例,并希望授予它们彼此访问权限。同时,我想禁止帐户中其他实例的访问。

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

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

我怎样才能做到这一点?

Answers:


11

因此,您正在AWS上建立一些集群,并且需要节点之间的SSH访问,对吗?您有2个选择:

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

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

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

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

自引用安全组

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

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

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

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

希望有帮助:)


4

在安全组的配置中,要用于允许实例之间进行SSH:

  1. 转到入站选项卡
    1. 点击编辑
    2. 点击添加规则
    3. 对于类型,选择SSH
    4. 对于源,输入安全组ID
  2. 转到Oubound标签
    1. 点击编辑
    2. 点击添加规则
    3. 对于类型,选择SSH
    4. 对于目标,输入安全组ID

2

您应该添加一个规则,该规则以源为组ID本身的方式启用SSH。

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

另外,请确保“ 出站”选项卡具有0.0.0.0/0用于SSH 的规则,或者至少要再次设置SSH 的规则,sg-12345678否则出站流量将被阻止。默认情况下,0.0.0.0/0应该存在。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.