我刚刚开始使用亚马逊的免费试用版,并遵循了“启动 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 机器,两次超时都是一样的。
答案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
我希望这对某人有帮助。