AWS EC2 通过 SSH 连接超时

AWS EC2 通过 SSH 连接超时

我刚刚开始使用亚马逊的免费试用版,并遵循了“启动 Amazon EC2 实例“指南设置了 t2.micro 实例,但我无法通过 SSH 连接到它。我已经为安全组设置了入站规则,以允许从我的本地 IP 进行 SSH 访问,并尝试通过 Putty 和 Cygwin+openssh 进行连接,但两种方式都因超时错误而失败:

输出ssh -vvv

$ ssh -i .ssh/aws-general.pem [email protected] -vvvvvvvv
OpenSSH_6.7p1, OpenSSL 1.0.1j 15 Oct 2014
debug2: ssh_connect: needpriv 0
debug1: Connecting to REDACTED.sa-east-1.compute.amazonaws.com [REDACTED] port 22.
debug1: connect to address REDACTED port 22: Connection timed out
ssh: connect to host REDACTED.sa-east-1.compute.amazonaws.com port 22: Connection timed out

如何通过 SSH 访问我的实例?

编辑:尝试连接 Java 客户端并通过 Ubuntu 机器,两次超时都是一样的。

入站规则:ssh:我的 ip http:任何地方 https:任何地方 出站规则:所有流量:任何地方

答案1

在对原始问题进行了一些评论狂潮之后,我们通过以下方式找到了问题所在:AWS 连接超时故障排除指南。@Kroltan 遇到的这个特定问题是由路由表中缺少路由引起的。通过在 VPC 路由表中添加用于连接子网和互联网网关的路由,问题得到了解决。

答案2

我认为您的 TCP 握手没有完成。检查防火墙以查看数据包是否被允许进出。您可以在服务器上执行 tcpdump 以查看数据包是否到达那里。还有

iptables -nvL

可能会显示您的服务器是否端口被阻止。

答案3

补充一下。我在家里连接 ec2 时遇到了问题。我所做的就是将我的地址添加到操作系统 (Ubuntu 14.04) 中的 IPTable。基本上

iptables -A INPUT -s *ip.ad.dr.ess* -j ACCEPT 

我希望这对某人有帮助。

相关内容