在左侧的视频中,Ben 谈到了
通过 SSH 连接到实例可能失败的
常见原因

 

在右侧的视频中,Ben 介绍如何
排查常见的 SSH 错误

我已经创建并启动了 Amazon EC2 Linux 实例,但是无法使用 SSH 或通过 SSH 连接的实用工具(如 PuTTY)连接到实例。当我尝试从 Linux 命令 shell 连接时,连接尝试挂起,当我使用 PuTTY 客户端连接时,在 PuTTY 客户端用户界面中显示类似以下内容的错误:

Network error: Connection timed out

两个问题都指示,您无法使用 SSH 从当前 IP 地址访问 EC2 实例。

默认情况下未启用与 EC2 实例的网络连接。您需要在 AWS 管理控制台中对 VPC 进行某些配置更改。

为确保您可以使用 SSH 连接到 EC2 Linux 实例,首先请确认您的安全组是否允许从您的 IP 地址通过 SSH 访问 EC2 实例。

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Instances
  3. 查找要通过 SSH 连接的 EC2 实例。
  4. 在屏幕底部的 Description 选项卡中,选择要连接的 EC2 实例的安全组。
  5. 在屏幕底部的窗格中的 Inbound (入站) 选项卡中,确保设置了允许从当前公有 IP 地址进行 SSH 访问的规则。
    注意:如果不确定当前 IP 是什么,请在首选搜索引擎中输入“my IP address”,记下返回的 IP。另外,大多数设备会显示在其网络设置中当前分配给它们的 IP 地址。
  6. 如果设备所使用的 IP 不在列表中,请选择 Edit,然后选择 Add rule
  7. 对于 Source,选择 My IP
  8. 选择 Save

接下来,确保您的 VPC 路由表配置为允许 Internet 流量出入。

  1. 打开 Amazon VPC 控制台
  2. 在导航窗格中,选择 Route Tables,然后从列表中选择您的 VPC 路由表。
  3. Routes (路由) 选项卡中,确保有指向 Internet 网关的默认路由。
  4. 如果没有,请从导航窗格中选择 Internet Gateways,并复制您的 Internet 网关 ID。如果没有 Internet 网关,请创建一个并将其连接至您的 VPC。确保复制新 Internet 网关 的 ID。
  5. 返回到 Route Tables,然后选择 Routes 选项卡。
  6. 编辑并创建将 0.0.0.0/0 指向您的 Internet 网关 ID 的路由。
  7. 保存路由表。

注意:您的网络 ACL 规则必须允许入站和出站 IPv4 流量。

要使用 IPv6 地址连接到实例,请检查以下各项:

  • 与您的子网关联的路由表必须含有一个将所有 IPv6 流量 (::/0) 指向 Internet 网关的路由。
  • 您的安全组规则必须允许适当端口(Linux 的端口 22 和 Windows 的端口 3389)传输来自本地 IPv6 地址的入站流量。
  • 您的网络 ACL 规则必须允许入站和出站 IPv6 流量。
  • 如果您从旧版 AMI 启动实例,则其可能未针对 DHCPv6 进行配置(IPv6 地址不会在网络接口上自动识别)。有关更多信息,请参阅《Amazon VPC 用户指南》中的在实例中配置 IPv6
  • 您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。

如果已完成这些步骤,还是无法连接到 EC2 实例,请确保 SSH 守护程序在 EC2 实例上运行,并且 EC2 实例配置为侦听默认端口 (TCP 22)。有关排查连接问题的更多信息,请参阅排查实例的连接问题创建 AWS Support 案例


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2016 年 5 月 23 日

更新时间:2017 年 10 月 16 日