我在公共(public)子网 Ubuntu 20.04 中有一个具有公共(public) IP 的 ec2 实例,一切似乎都是开放的 - 但我无法 ping 或 ssh 到该实例:
NACL(I/b 和 O/b):100 - 全部/全部 0.0.0.0/0
路由表 - 0.0.0.0/0 igw
SG:8080, 443, 22 - 0/0
我在 ec2 实例控制台中的公共(public) IP 和公共(public) DNS 旁边有一个“开放地址”超链接 - 当我尝试打开它时,它没有打开 - 无法访问此页面 - 尝试 https//IP地址。
Putty 超时,cmd ssh 也超时:
ssh -i "pem-file.pem" ubuntu@IP
ssh: connect to host 'IP' port 22: Connection timed out
最佳答案
当 SSH 连接超时时,通常表明网络流量未到达 Amazon EC2 实例。
要检查的事项:
- 实例正在运行 Linux
- 实例在公共(public)子网中启动,该子网定义为具有指向互联网网关的路由表条目
- 该实例有一个公共(public) IP 地址,您正在使用该地址进行连接
- 网络访问控制列表 (NACL) 设置为其默认的“全部允许”值
- 与实例关联的安全组,允许从您的 IP 地址或互联网 (
0.0.0.0/0
) 在端口 22 (SSH) 上进行入站访问) - 您的公司网络允许出站 SSH 连接(尝试其他网络,例如家庭网络、工作网络或连接到手机的网络)
另请参阅:Troubleshooting connecting to your instance - Amazon Elastic Compute Cloud
如果您仍然遇到问题,请使用 ssh -vvv ...
激活调试,并将输出添加到您的问题中。
一旦 SSH 工作正常,就尝试让 443 工作。
不要使用 Ping 来测试连接,因为这需要安全组中的其他规则,并且它测试的只是 Ping 是否正常工作。
关于amazon-web-services - 无法连接到AWS EC2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68293090/