无法通过 SSH 连接到 vpc 公共子网内的 ec2

无法通过 SSH 连接到 vpc 公共子网内的 ec2

我的负载平衡、自动扩展的 Elastic Beanstalk 环境使用具有两个可用区中的公共子网和私有子网的 VPC。

  • ELB 和 EC2 位于同一个公共子网中。

  • EC2 已被赋予公共 IP。

  • EC2 位于一个安全组中,该安全组中的入站规则开放了 22 端口以0.0.0.0/0(我也尝试过用我的 IP)

  • EC2 与我正在使用的密钥对相关联(它适用于此 VPC 之外的其他 EC2)。

  • EC2 运行正常。

但...

ssh -i "~/.ssh/my.pem" [email protected]

...导致“操作超时”。

我遗漏了什么明显的东西?


编辑:公共子网 ACL 上的入站规则:

在此处输入图片描述

EC2 SG 上的入站规则:

在此处输入图片描述

公共子网详细信息:

Subnet ID: subnet-3cf38775 | Public subnet 2
Availability Zone: eu-west-1b
IPv4 CIDR: 10.0.2.0/24

Route Table:
10.0.0.0/16 -> local
0.0.0.0/0 -> nat-01b4b81a02e336d3c

答案1

该实例所在的子网是否有通向0.0.0.0/0连接到 VPC 的互联网网关的路由?

安全组0.0.0.0/0在出口处是否拥有全部或仅有 tcp?

答案2

为了清晰起见,这里添加了摘要,尽管@Mike 很好地向我解释了上面的正确观点。我有两个公共(和两个私有)子网(在两个可用区中),并且附加到包含我无法访问的 EC2 的公共子网的路由表未将流量路由到互联网网关。我将该子网上的路由表更改为使用与其他公共子网相同的路由表,现在一切都很好。

相关内容