连接到您的 EC2 实例
Amazon EC2 实例是 Amazon 云中的虚拟服务器。要登录实例,必须先与实例建立连接。连接实例的方式取决于实例的操作系统,以及用于连接实例的计算机上的操作系统。可从以下选项中进行选择。
连接选项
以下是一般先决条件。请注意,可能存在与所选连接选项相关的特定先决条件。
一般先决条
-
检查您的实例是否通过了状态检查。可能需要花几分钟时间,实例才能准备好接受连接请求。有关更多信息,请参阅 查看状态检查。
获取所需的实例详细信息
要做好连接到实例的准备工作,请通过 Amazon EC2 控制台或使用命令行来获取以下信息。
-
获取实例的公有 DNS 名称。
您可以从 Amazon EC2 控制台获取实例的公有 DNS。查看实例窗格的公有 IPv4 DNS 列。如果此列已隐藏,请选择屏幕右上角的设置图标( ),然后选择公有 IPv4 DNS。您也可以在实例窗格的实例信息部分找到公有 DNS。在 Amazon EC2 控制台的实例窗格中选择实例时,有关该实例的信息将显示在页面的下半部分。在详细信息选项卡下,查找公有 IPv4 DNS。
如果您愿意,也可以使用 describe-instances(Amazon CLI)或 Get-EC2Instance(Amazon Tools for Windows PowerShell)命令。
如果未显示公有 IPv4 DNS,请验证实例状态是否正在运行,并确保您没有在私有子网中启动实例。如果您使用启动实例向导来启动实例,则可能已编辑网络设置下的自动分配公有 IP 字段,并且已将值更改为禁用。如果您禁用自动分配公有 IP 选项,则启动实例后不会为其分配公有 IP 地址。
-
(仅适用于 IPv6)获取实例的 IPv6 地址。
如果您已为实例分配 IPv6 地址,则可以选择使用 IPv6 地址代替公有 IPv4 地址或公有 IPv4 DNS 主机名,以连接到实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。您可以从 Amazon EC2 控制台获取实例的 IPv6 地址。请查看实例窗格的 IPv6 IP 列。或者,您可以在实例信息部分找到 IPv6 地址。在 Amazon EC2 控制台的实例窗格中选择实例时,有关该实例的信息将显示在页面的下半部分。在详细信息选项卡下,查找 IPv6 地址。
如果您愿意,也可以使用 describe-instances(Amazon CLI)或 Get-EC2Instance(Amazon Tools for Windows PowerShell)命令。有关 IPv6 的更多信息,请参阅 IPv6 地址。
-
(Linux 实例)获取实例的用户名。
您可以使用用户账户的用户名或用于启动实例的 AMI 的默认用户名连接到实例。
-
获取用户账户的用户名。
有关如何创建用户账户的更多信息,请参阅管理 Amazon EC2 Linux 实例上的系统用户。
-
获取用于启动实例的 AMI 的默认用户名。
-
CentOS –
centos
或ec2-user
-
Debian –
admin
-
Fedora –
fedora
或ec2-user
-
RHEL –
ec2-user
或root
-
SUSE –
ec2-user
或root
-
Ubuntu –
ubuntu
-
Oracle –
ec2-user
-
Bitnami –
bitnami
-
Rocky Linux –
rocky
-
Other – 检查 AMI 提供程序
-
-
查找私有密钥并设置权限
必须清楚私有密钥文件的位置,才能使用 SSH 建立与 Linux 实例的初始连接,或者使用 RDP 建立与 Windows 实例的初始连接。对于 SSH 连接,必须设置文件权限,确保只有您可以读取私有密钥。
有关使用 Amazon EC2 时密钥对工作原理的信息,请参阅 Amazon EC2 密钥对和 Amazon EC2 实例。
查找私有密钥。
获取适用于启用实例时所指定密钥对的
.pem
文件在电脑上的全限定路径。有关更多信息,请参阅 确定启动时指定的公有密钥。如果无法找到私有密钥文件,则请参阅 我丢失了私有密钥。如何连接到我的实例?
(Linux 实例)如果您使用 PuTTY 连接到实例并且需要将
.pem
文件转换为.ppk
,请参阅使用 PuTTYgen 转换私有密钥。-
(Linux 实例)设置私有密钥的权限,确保只有您可以读取该密钥。
-
从 macOS 或 Linux 进行连接
如果您计划在 macOS 或 Linux 计算机上使用 SSH 客户端连接到 Linux 实例,请使用以下命令设置私有密钥文件的权限,以确保只有您可以读取该文件。
chmod 400
key-pair-name
.pem如果不设置这些权限,则无法使用此密钥对连接到实例。有关更多信息,请参阅 错误:未保护的私有密钥文件。
-
从 Windows 进行连接
打开“文件资源管理器”,然后右键单击
.pem
文件。依次选择属性 > 安全选项卡,然后选择高级。选择禁用继承。删除对所有用户(当前用户除外)的访问权限。
-
(可选)获取实例指纹
若要保护自己免遭中间人攻击,您可以通过验证显示的指纹,确认将要连接的实例的真实性。如果您从第三方提供的公有 AMI 启动实例,验证指纹将很有用。
任务概述
首先,从实例获取实例指纹。然后,当您连接到实例并收到验证指纹的提示时,请将在此过程中获取的指纹与显示的指纹进行比较。如果指纹不匹配,则表示有人可能在试图实施中间人攻击。如果二者匹配,则您可以放心地连接到您的实例。
获取实例指纹的先决条件
-
实例不能处于
pending
状态。只有在第一次引导实例完成后,才能使用指纹。 -
您必须为实例拥有者,才能获取控制台输出。
-
可以采用多种方法获取实例指纹。如果要使用 Amazon CLI,则必须将其安装在本地计算机上。有关安装 Amazon CLI 的信息,请参阅 Amazon Command Line Interface 用户指南中的安装 Amazon Command Line Interface。
获取实例指纹
在步骤 1 中,您将获得控制台输出,其中包括实例指纹。在步骤 2 中,您可以在控制台输出中找到实例指纹。
-
使用以下方法之一获取控制台输出。
-
在控制台输出中,找到位于
BEGIN SSH HOST KEY FINGERPRINTS
下方的实例(主机)指纹。可能有多个实例指纹。当您连接到实例时,它将仅显示其中一个指纹。确切的输出可能因操作系统、AMI 版本以及是否是由 Amazon 创建密钥对而异。下面是示例输出。
ec2:############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY no comment (ECDSA) ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519) ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc no comment (RSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: #############################################################
注意
连接到实例时,您将引用此指纹。