连接到您的实例的常规先决条件 - Amazon Elastic Compute Cloud

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

有关连接到 Windows 实例的先决条件,请参阅《适用于 Windows 实例的 Amazon EC2 用户指南》中的先决条件

获取有关您的实例的信息

  • 获取实例 ID。

    您可以使用 Amazon EC2 控制台获取实例 ID(从 Instance ID (实例 ID) 列)。如果您愿意,可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (AWS Tools for Windows PowerShell) 命令。

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

    可以使用 Amazon EC2 控制台获取实例的公有 DNS。检查 Public IPv4 DNS(公有 IPv4 DNS)列。如果此列已隐藏,请选择屏幕右上角的设置图标 (),然后选择 Public IPv4 DNS(公有 IPv4 DNS)。如果您愿意,可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (AWS Tools for Windows PowerShell) 命令。

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

    如果您已为实例分配了 IPv6 地址,则可以选择用 IPv6 地址代替公有 IPv4 地址或公有 IPv4 DNS 主机名来连接到您的实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。可以使用 Amazon EC2 控制台获取实例的 IPv6 地址。检查 IPv6 IP 字段。如果您愿意,可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (AWS Tools for Windows PowerShell) 命令。有关 IPv6 的更多信息,请参阅 IPv6 地址

  • 获取实例的用户名。

    您可以使用用户账户的用户名或用于启动实例的 AMI 的默认用户名连接到您的实例。

    • 获取用户账户的用户名。

      有关如何创建用户账户的更多信息,请参阅管理 Linux 实例的用户账户

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

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

      • 对于 CentOS AMI,用户名是 centosec2-user

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

      • 对于 Fedora AMI,用户名是 fedoraec2-user

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

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

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

      • 对于 Oracle AMI,用户名是 ec2-user

      • 对于 Bitnami AMI,用户名称是 bitnami

      • 否则,检查 AMI 提供程序。

启用您的实例的入站流量

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

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

查找私有密钥并设置权限

(可选)获取实例指纹

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

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

获取实例指纹的先决条件:
  • 要获取实例指纹,您必须使用 AWS CLI。有关安装 AWS CLI 的信息,请参阅 AWS Command Line Interface 用户指南中的安装 AWS Command Line Interface

  • 实例不能处于 pending 状态。只有在第一次引导实例完成后,才能使用指纹。

获取实例指纹
  1. 在本地计算机上(而不是在实例上),按以下方式使用 get-console-output(AWS CLI)命令以获取实例指纹。如果输出很大,则可将输出通过管道传输到文本文件,文本形式可能更易于阅读。

    aws ec2 get-console-output --instance-id instance_id --output text > temp.txt
  2. 以下是您应该在输出中查找的内容的示例。确切的输出可能因操作系统、AMI 版本以及是否让 AWS 创建密钥而异。

    ec2: ############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 1024 SHA256:7HItIgTONZ/b0CH9c5Dq1ijgqQ6kFn86uQhQ5E/F9pU root@ip-10-0-2-182 (DSA) ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY root@ip-10-0-2-182 (ECDSA) ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519) ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc root@ip-10-0-2-182 (RSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: #############################################################