Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

连接到您的实例的常规先决条件

在连接到您的 Linux 实例之前,请确认以下常规先决条件:

获取有关您的实例的信息

  • 获得实例的 ID.

    您可以通过使用 Amazon EC2 控制台获得您的实例的 ID(位于 Instance ID (实例 ID) 列中)。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。

  • 获得实例的公有 DNS 名称。

    可使用 Amazon EC2 控制台获取实例的公有 DNS。选中 Public DNS (IPv4) (公有 DNS (IPv4)) 列。如果此列已隐藏,请选择 Show/Hide (显示/隐藏) 图标,然后选择 Public DNS (IPv4) (公有 DNS (IPv4))。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。

  • (仅限 IPv6)获取实例的 IPv6 地址。

    如果您已将 IPv6 地址分配给您的实例,则可选择使用实例的 IPv6 地址而非公共 IPv4 地址或公共 IPv4 DNS 主机名来连接实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。可以使用 Amazon EC2 控制台获取实例的 IPv6 地址。选中 IPv6 IPs (IPv6 IP) 字段。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。有关 IPv6 的更多信息,请参阅IPv6 地址

  • 获取用于启动实例的 AMI 的默认用户名称:

    • 对于 Amazon Linux 2 或 Amazon Linux AMI,用户名称是 ec2-user

    • 对于 CentOS AMI,用户名称是 centos

    • 对于 Debian AMI,用户名称是 adminroot

    • 对于 Fedora AMI,用户名为 ec2-userfedora

    • 对于 RHEL AMI,用户名称是 ec2-userroot

    • 对于 SUSE AMI,用户名称是 ec2-userroot

    • 对于 Ubuntu AMI,用户名称是 ubuntu

    • 另外,如果 ec2-userroot 无法使用,请与 AMI 供应商核实。

启用您的实例的入站流量

  • 允许从您的 IP 地址到您的实例的入站 SSH 流量

    确保与您的实例关联的安全组允许来自您的 IP 地址的传入 SSH 流量。默认情况下,VPC 的默认安全组不允许传入 SSH 流量。默认情况下,启动实例向导创建的安全组支持 SSH 流量。有关更多信息,请参阅 为您的 Linux 实例授权入站流量

查找私有密钥

  • 查找私有密钥并验证权限

    获取您在启动实例时指定的密钥对的 .pem 文件在您电脑上位置的完全限定路径。有关如何创建密钥对的更多信息,请参阅使用 Amazon EC2 创建密钥对

    确保 .pem 文件具有权限 0400 而不是 0777。有关更多信息,请参阅错误:未保护的私钥文件

设置私有密钥的权限

  1. 在命令行 shell 中,转到在启动实例时创建的私有密钥文件的目录位置。

  2. 使用以下命令设置您的私有密钥文件的权限,以确保只有您可以读取该文件。

    chmod 400 /path/my-key-pair.pem

    如果不设置这些权限,则无法使用此密钥对连接到实例。有关更多信息,请参阅 错误:未保护的私钥文件

(可选)获取实例指纹

若要防范中间人攻击,您在连接您的实例时可以验证 RSA 密钥指纹。如果您从第三方的公用 AMI 启动了实例,则验证指纹将很有用。

首先获取实例指纹。然后,当您连接实例时,将会提示您验证指纹。您可以将您已获取的指纹与显示的指纹进行比较来实施验证。如果这些指纹不匹配,则表示有人可能在试图实施“中间人”攻击。如果二者匹配,则您可以放心地连接到您的实例。

获取实例指纹的先决条件:

  • 要获取实例指纹,您必须使用 AWS CLI。有关安装 AWS CLI 的信息,请参阅 AWS Command Line Interface 用户指南 中的安装 AWS 命令行界面

  • 该实例必须处于 running 状态而不是 pending 状态。

获取实例指纹

  1. 在您的本地计算机(并非实例)上,使用 get-console-output(AWS CLI)命令获取指纹,如下所示:

    $ aws ec2 get-console-output --instance-id instance_id

    以下是您应查找的内容的示例:

    -----BEGIN SSH HOST KEY FINGERPRINTS ----- ... 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f ... -----END SSH HOST KEY FINGERPRINTS-----
  2. 在生成的输出中,找到 SSH HOST KEY FINGERPRINTS 部分并记录下 RSA 指纹(例如 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)。SSH HOST KEY FINGERPRINTS 部分仅在实例首次启动之后可用。