【发布时间】:2020-12-27 08:02:25
【问题描述】:
我整个晚上都在这上面度过。猜猜这只是我错过了一个愚蠢的步骤。这是我遵循的程序:
- 创建一个 aws vpc 10.0.0.0/24;
- 创建一个 aws 互联网网关并将其与 VPC 关联;
- 在 VPC 10.0.0.0/26 中创建子网;
- 向 VPC ACL 添加入站规则以允许来自所有 IPV4 源的 SSH、HTTP、HTTPS;
- 在区域 us-west-2、t2.micro 中使用 Amazon Linux 2 AMI 启动 aws ec2 实例, 实例详情: 实例数:1 网络:上面创建的 VPC 子网:上面创建的子网 自动分配公共 IP:使用子网设置(禁用) 容量预留:开放 其他一切默认 存储细节 添加数据量,在终止检查时删除 安全组:为所有 ipv4 源打开入站规则 ssh/http/https 的新安全组 使用我之前创建的现有密钥对;
- 创建弹性IP;
- 将弹性 IP 关联到上面创建的实例。
- 重启实例
然后我可以看到实例在附加弹性 IP 的情况下运行良好。
我尝试使用 ssh ssh -vvv -i ./aws_private.pem ec2-user@ipaddress 连接到 IP 地址,但失败了
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug2: resolve_canonicalize: hostname <elastic ipaddress> is address
debug2: ssh_connect_direct
debug1: Connecting to <elastic ipaddress> [<elastic ipaddress>] port 22.
debug1: connect to address <elastic ipaddress> port 22: Operation timed out
ssh: connect to host <elastic ipaddress> port 22: Operation timed out
我验证了 ACL 和安全组。这些是我唯一的 ACL 和安全组。
我正在使用 Mac。并且还尝试在同一区域使用 Windows 操作系统和 aws cloud shell。他们都有相同的错误。
telnet <elastic ip> 22 也失败了。
我做错了什么?
【问题讨论】:
-
如果你也不能telnet端口22,请检查目标计算机是否允许通过端口22入站连接(检查其防火墙)
-
到互联网网关的路由表怎么样?
-
@KenLee,您是指计算机防火墙还是 VPC ACL 或安全组?如果是计算机防火墙,我无法登录该虚拟机,也无法检查它。如果它是 VPC ACL,正如我所提到的,它已经被允许了。如果是安全组,就已经被允许了。
-
@Marcin,这很好。我忘记在上述步骤中更新路由表。实际上,我在路由表中附加了两条规则:destination 10.0.0.0/24,target local;目标 0.0.0.0/0,目标 Internet 网关。问题依然存在。
-
您可以将 NACL 恢复到其默认状态吗?否则,您必须准确显示您是如何修改它们的。