1

我有两个 EC2 实例,它们都在同一个公共子网中,并且都在同一个可用区中。

我希望其中一个实例能够通过 SSH 访问另一个实例。

以下是我目前配置的安全组:

实例 #1:Web 服务器

  • 允许httpinbound and outbound port 80 0.0.0.0/0
  • 允许 httpsinbound and outbound port 443 0.0.0.0/0
  • allow_internal_sshinbound and outbound port 22 allow_internal_ssh (self)

实例 #2:仅 SSH

  • allow_sshinbound and outbound port 22 0.0.0.0/0 # soon to be my home IP
  • allow_internal_sshinbound and outbound port 22 allow_internal_ssh (self)

我希望#1只能通过 SSH 从#2访问。

我想我可以通过为两者分配相同的安全组 ( allow_internal_ssh) 来做到这一点,但是,它不起作用!

使用上述设置,我无法连接到#2

如果我为这两个实例提供allow_ssh安全组,我可以访问 SSH 服务器(#2),然后从那里登录到 Web 服务器(#1)

非常感谢任何有关调试此问题的建议或帮助从同一安全组设置 SSH 访问权限!

4

2 回答 2

0

如果您想允许 #2 SSH 到 #1,您可以允许在端口 22 (10.xxx) 上入站到 #2 的私有 IP 地址

于 2018-03-11T20:48:55.383 回答
0

听起来您的要求是:

实例 #1(Web 服务器):

  • 允许从任何地方进行 HTTP/HTTPS 访问
  • 仅允许来自实例 #2 的 SSH

实例 #2:

  • 允许从您家进行 SSH 访问

为此,您需要两个安全组——一个与每个实例相关联。

您应该为 Instance #1创建一个安全组:

  • HTTP:允许从端口 80 入站0.0.0.0/0
  • HTTPS:允许从端口 443 入站0.0.0.0/0
  • SSH:允许来自安全组#2 的端口 22 上的入站(请参阅具体的安全组)

您应该为 Instance #2创建一个安全组:

  • SSH:允许从您的家庭 IP 地址在端口 22 上入站

神奇的是一个安全组 (#1) 可以引用另一个安全组 (#2)。在上述配置中,任何与安全组 #2 关联的实例都将被允许在端口 22 上访问与安全组 #1 关联的任何实例。(当然,仍然需要标准登录和密钥对。)

于 2018-03-12T01:34:23.523 回答