连接到您的实例的常规先决条件
在连接到您的 Linux 实例之前,请确认以下常规先决条件:
有关连接到 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,用户名是
centos
或ec2-user
。对于 Debian AMI,用户名称是
admin
。对于 Fedora AMI,用户名是
fedora
或ec2-user
。对于 RHEL AMI,用户名是
ec2-user
或root
。对于 SUSE AMI,用户名是
ec2-user
或root
。对于 Ubuntu AMI,用户名称是
ubuntu
。对于 Oracle AMI,用户名是
ec2-user
。对于 Bitnami AMI,用户名称是
bitnami
。否则,检查 AMI 提供程序。
-
启用您的实例的入站流量
允许从您的 IP 地址到您的实例的入站 SSH 流量。
确保与您的实例关联的安全组允许来自您的 IP 地址的入站 SSH 流量。默认情况下,VPC 的默认安全组不允许传入 SSH 流量。默认情况下,由启动实例向导创建的安全组允许传入的 SSH 流量。有关更多信息,请参阅为您的 Linux 实例授权入站流量。
查找私有密钥并设置权限
查找私有密钥
获取适用于启用实例时所指定密钥对的
.pem
文件在电脑上的全限定路径。有关更多信息,请参阅确定启动时指定的公有密钥 。如果找不到私有密钥文件,请参阅我丢失了私有密钥。我怎样才能连接到我的 Linux 实例?设置您的私有密钥的权限
如果您将在 macOS 或 Linux 计算机上使用 SSH 客户端连接到您的 Linux 实例,请使用以下命令设置您私有密钥文件的权限,以确保只有您可以读取它。
chmod 400
key-pair-name
.pem如果不设置这些权限,则无法使用此密钥对连接到实例。有关更多信息,请参阅错误:未保护的私有密钥文件。
(可选)获取实例指纹
要防范中间人攻击,您可以在连接实例时验证实例指纹。如果您的实例是从第三方提供的公有 AMI 启动的,则验证指纹将很有用。
首先获取实例指纹。然后,当您连接实例时,将会提示您验证指纹。您可以将您已获取的指纹与显示的指纹进行比较来实施验证。如果这些指纹不匹配,则表示有人可能在试图实施中间人攻击。如果二者匹配,则您可以放心地连接到您的实例。
获取实例指纹的先决条件:
-
要获取实例指纹,您必须使用 AWS CLI。有关安装 AWS CLI 的信息,请参阅 AWS Command Line Interface 用户指南中的安装 AWS Command Line Interface。
-
实例不能处于
pending
状态。只有在第一次引导实例完成后,才能使用指纹。
获取实例指纹
-
在本地计算机上(而不是在实例上),按以下方式使用 get-console-output(AWS CLI)命令以获取实例指纹。如果输出很大,则可将输出通过管道传输到文本文件,文本形式可能更易于阅读。
aws ec2 get-console-output --instance-id
instance_id
--output text >temp.txt
-
以下是您应该在输出中查找的内容的示例。确切的输出可能因操作系统、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: #############################################################