无法通过 Putty 连接到 AWS EC2 实例

无法通过 Putty 连接到 AWS EC2 实例

我有一个在 AWS 上运行的 EC2 实例:

  1. 它是一个 Ubuntu Linux 实例,直到不久前我还使用 putty 定期访问它 - 效果很好。
  2. 我正在使用 Pageant 加载 .ppk 文件(按照 AWS 文档将其从 AWS 的原始 .pem 文件转换而来)。
  3. 我正在使用这些登录设置: Putty 登录设置
  4. 检查实例的安全组是否允许从我的地址通过端口 22 进行 SSH 访问 - 确实如此。
  5. 检查了我的弹性IP没有改变——确实没有改变。
  6. 尝试登录公共 DNS 而不是 IP,但没有成功。
  7. 重新启动实例并泡茶等待了 15 分钟。

话虽如此,我收到了“网络错误:连接超时”错误。

Putty 致命错误

什么原因造成此情况?

答案1

所以,这最终是一个安全组问题。

AWS 会让您把每个想要通过 SSH 进入服务器的 IP 都包含在一个特殊的服务器权限“组”中。否则它会阻止您进入。这对于保护生产服务器非常有用,但对于从偏僻地方的咖啡馆访问您的开发服务器来说却很糟糕。

有关 AWS 文档中的安全组的更多信息(仅适用于 VPC - 我使用的就是 VPC)

答案2

连接到您的 Ec2 实例时出错:连接超时

您在访问 AWS EC2 实例时遇到过致命错误吗?如果 SSH 访问 EC2 实例失败,有哪些替代方案?

首先,您将检查实例的安全组和网络连接,一旦一切正常,那么如果满足所有先决条件,您需要尝试使用 AWS SSM 会话管理器连接到实例。

在此处输入图片描述

如果您尝试连接到您的实例并收到错误消息网络错误:连接超时或者连接到 [实例] 时出错原因:-> 连接超时:连接,请尝试以下操作:

检查附加到您的 Ec2 实例的 Aws 安全组规则。

您需要一个安全组规则,允许来自您的公共网络的入站流量IPv4 地址在正确的端口上ssh 连接你必须输入端口 22如截图所示。

在此处输入图片描述

如果您已经在 AWS 安全组中允许端口号 22,则通过以下方式检查与 Aws Ec2 实例的连接远程登录命令

[email protected]:~$ telnet 53.22.22.19 22
Trying 52.22.24.99...
Connected to ec2-53-22-22-19.compute-1.amazonaws.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8
Connection closed by foreign host.
[email protected]:~$

在此处输入图片描述

每次你重新开始你的实例,一个新的IP地址(和主机名)将被分配给您的 Ec2 实例。

如果您的计算机位于公司网络上,请询问您的网络管理员内部防火墙是否允许从您的计算机通过端口 22(对于 Linux 实例)或端口 3389(对于 Windows 实例)传入和传出流量。

如果您的计算机上有防火墙,请验证它是否允许来自计算机的端口 22(对于 Linux 实例)或端口 3389(对于 Windows 实例)的入站和出站流量。

检查实例上的 CPU 负载;服务器可能超载。AWS 会自动提供 Amazon CloudWatch 指标和实例状态等数据,您可以使用这些数据来查看实例上的 CPU 负载。

相关内容