启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它。
注意
启动实例后,需要几分钟准备好实例,以便您能连接到实例。检查您的实例是否通过了状态检查。您可以在 Instances 页上的 Status Checks 列中查看此信息。
以下说明介绍如何使用 PuTTY (适用于 Windows 的免费 SSH 客户端) 连接到您的实例。如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。
先决条件
使用 PuTTY 连接到您的 Linux 实例之前,请先完成以下先决条件:
-
安装 PuTTY
从 PuTTY 下载页面下载并安装 PuTTY。如果您安装的是旧版本的 PuTTY,建议您下载最新版本。确保安装整个套件。
-
获得实例的 ID
您可以通过使用 Amazon EC2 控制台(位于 Instance ID (实例 ID) 列中)获得您的实例的 ID。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。
-
获得实例的公有 DNS 名称
您可以使用 Amazon EC2 控制台获取实例的公有 DNS (选中 Public DNS (IPv4) 列;如果此列处于隐藏状态,请选择 Show/Hide 图标并选择 Public DNS (IPv4) )。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。
-
(仅限 IPv6) 获取实例的 IPv6 地址
如果您已将 IPv6 地址分配给您的实例,则可选择使用实例的 IPv6 地址而非公共 IPv4 地址或公共 IPv4 DNS 主机名来连接实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。可使用 Amazon EC2 控制台 (选中 IPv6 IPs 字段) 获取实例的 IPv6 地址。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。有关 IPv6 的更多信息,请参阅IPv6 地址。
-
查找私有**
获取您在启动实例时指定的**对的
.pem
文件在您电脑上位置的完全限定路径。 -
获取用于启动实例的 AMI 的默认用户名称
-
对于 Amazon Linux AMI,用户名为
ec2-user
。 -
对于 Centos AMI,用户名称是
centos
。 -
对于 Debian AMI,用户名称是
admin
或root
。 -
对于 Fedora AMI,用户名为
ec2-user
或fedora
。 -
对于 RHEL AMI,用户名称是
ec2-user
或root
。 -
对于 SUSE AMI,用户名称是
ec2-user
或root
。 -
对于 Ubuntu AMI,用户名称是
ubuntu
或root
。 -
另外,如果
ec2-user
和root
无法使用,请与 AMI 供应商核实。
-
-
允许从您的 IP 地址到您的实例的入站 SSH 流量
确保与您的实例关联的安全组允许来自您的 IP 地址的传入 SSH 流量。默认情况下,默认安全组不允许传入 SSH 流量。有关更多信息,请参阅 为您的 Linux 实例授权入站流量。
使用 PuTTYgen 转换您的私有**
PuTTY 本身不支持 Amazon EC2 生成的私有**格式 (.pem)。PuTTY 有一个名为 PuTTYgen 的工具,可将**转换成所需的 PuTTY 格式 (.ppk)。您必须将私有**转换为此格式 (.ppk),然后才能尝试使用 PuTTY 连接到您的实例。
转换您的私有**
-
启动 PuTTYgen (例如,在开始 菜单中,选择 All Programs > PuTTY > PuTTYgen)。
-
在 Type of key to generate 下,选择 RSA。
如果您使用的是旧版本的 PuTTYgen,请选择 SSH-2 RSA。
-
选择 Load 。默认情况下,PuTTYgen 仅显示扩展名为
.ppk
的文件。要找到您的.pem
文件,请选择显示所有类型的文件的选项。 -
选择您在启动实例时指定的**对的
.pem
文件,然后选择 Open 。选择 OK 关闭确认对话框。 -
选择 Save private key ,以 PuTTY 可以使用的格式保存**。PuTTYgen 显示一条关于在没有口令的情况下保存**的警告。选择是。
注意
私有**的口令是一层额外保护,因此,即使您的私有**被泄露,在没有口令的情况下,该**仍不可用。使用口令的缺点是让自动化变得更难,因为登录到实例或复制文件到实例需要进行人为干预。
-
为该**指定与**对相同的名称 (如,
my-key-pair
)。PuTTY 自动添加.ppk
文件扩展名。
您的私有**格式现在是正确的 PuTTY 使用格式了。您现在可以使用 PuTTY 的 SSH 客户端连接到实例。
启动 PuTTY 会话
通过以下过程使用 PuTTY 连接到您的 Linux 实例。您需要使用为私有**创建的 .ppk
文件。如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。
启动 PuTTY 会话
-
(可选) 您可以在本地系统 (而不是实例) 上使用 get-console-output (AWS CLI) 命令验证实例上的 RSA **指纹。如果您从第三方的公用 AMI 启动了实例,则可能需要这样做。找到
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) 并将它与实例的指纹进行比较。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-----
SSH HOST KEY FINGERPRINTS
部分仅在实例首次启动之后可用。 -
启动 PuTTY (在开始 菜单中,选择 All Programs > PuTTY > PuTTY)。
-
在 Category 窗格中,选择 Session 并填写以下字段:
-
在 Host Name 框中,输入
user_name
@public_dns_name
。确保为您的 AMI 指定相应的用户名。例如:-
对于 Amazon Linux AMI,用户名为
ec2-user
。 -
对于 Centos AMI,用户名称是
centos
。 -
对于 Debian AMI,用户名称是
admin
或root
。 -
对于 Fedora AMI,用户名为
ec2-user
或fedora
。 -
对于 RHEL AMI,用户名称是
ec2-user
或root
。 -
对于 SUSE AMI,用户名称是
ec2-user
或root
。 -
对于 Ubuntu AMI,用户名称是
ubuntu
或root
。 -
另外,如果
ec2-user
和root
无法使用,请与 AMI 供应商核实。
-
-
(仅限 IPv6) 要使用实例的 IPv6 地址连接,请输入
user_name
@ipv6_address
。确保为您的 AMI 指定相应的用户名。例如:-
对于 Amazon Linux AMI,用户名为
ec2-user
。 -
对于 Centos AMI,用户名称是
centos
。 -
对于 Debian AMI,用户名称是
admin
或root
。 -
对于 Fedora AMI,用户名为
ec2-user
或fedora
。 -
对于 RHEL AMI,用户名称是
ec2-user
或root
。 -
对于 SUSE AMI,用户名称是
ec2-user
或root
。 -
对于 Ubuntu AMI,用户名称是
ubuntu
或root
。 -
另外,如果
ec2-user
和root
无法使用,请与 AMI 供应商核实。
-
-
在 Connection type 下,选择 SSH。
-
确保 Port 为 22。
-
-
(可选) 您可以配置 PuTTY 以定期自动发送"保持连接"数据以将会话保持活动状态。要避免由于会话处于不活动状态而与实例断开连接,这是非常有用的。在 Category 窗格中,选择 Connection ,然后在 Seconds between keepalives 字段中输入所需的间隔。例如,如果您的会话在处于不活动状态 10 分钟后断开连接,请输入 180 以将 PuTTY 配置为每隔 3 分钟发送一次保持活动数据。
-
在 Category 窗格中,展开 Connection ,再展开 SSH ,然后选择 Auth。完成以下操作:
-
选择 Browse。
-
选择您为**对生成的
.ppk
文件,然后选择 Open。 -
(可选) 如果打算稍后重新启动此会话,则可以保存此会话信息以便日后使用。在 Category 树中选择 Session ,在 Saved Sessions 中输入会话名称,然后选择 Save。
-
选择打开以便开始 PuTTY 会话。
-
-
如果这是您第一次连接到此实例,PuTTY 会显示安全警告对话框,询问您是否信任您要连接到的主机。
-
(可选) 验证安全警报对话框中的指纹是否与之前在步骤 1 中获取的指纹匹配。如果这些指纹不匹配,则表示有人可能在试图实施"中间人"攻击。如果匹配,请继续到下一步。
-
选择是。此时会打开一个窗口并且您连接到了您的实例。
注意
如果您在将私有**转换成 PuTTY 格式时指定了口令,当您登录到实例时,您必须提供该口令。
如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。
使用 PuTTY 安全复制客户端将文件传输到您的 Linux 实例
PuTTY 安全复制客户端 (PSCP) 是一个命令行工具,您可以用它在 Windows 计算机与 Linux 实例之间传输文件。如果您更喜欢图形用户界面 (GUI),您可以使用一种叫作"WinSCP"的开源 GUI 工具。有关更多信息,请参阅 使用 WinSCP 将文件传输到您的 Linux 实例。
要使用 PSCP,您需要使用在使用 PuTTYgen 转换您的私有**中生成的私有**。您还需要使用 Linux 实例的公有 DNS 地址。
以下示例将 Sample_file.txt
文件从 Windows 计算机上的 C:\ 驱动器传输到 Amazon Linux 实例上的 ec2-user
主目录:
pscp -i C:\``path``\my-key-pair.ppk C:\``path``\Sample_file.txt ec2-user@``public_dns``:/home/ec2-user/Sample_file.txt
(仅限 IPv6) 以下示例使用实例的 IPv6 地址传输文件 Sample_file.txt
。IPv6 地址必须以方括号 ([]) 括起。
pscp -i C:\``path``\my-key-pair.ppk C:\``path``\Sample_file.txt ec2-user@[``ipv6-address``]:/home/ec2-user/Sample_file.txt
使用 WinSCP 将文件传输到您的 Linux 实例
WinSCP 是适用于 Windows 的基于 GUI 的文件管理器,您可以通过它来使用 SFTP、SCP、FTP 和 FTPS 协议将文件上传并传输到远程计算机。通过 WinSCP,您可以将 Windows 计算机中的文件拖放到 Linux 实例或同步这两个系统之间的所有目录结构。
要使用 WinSCP,您需要使用在使用 PuTTYgen 转换您的私有**中生成的私有**。您还需要使用 Linux 实例的公有 DNS 地址。
-
从 WinSCP :: Official Site :: Download 上下载并安装 WinSCP。对于大多数用户而言,采用默认安装选项就可以了。
-
启动 WinSCP。
-
在 WinSCP 登录 屏幕中,对于 Host name,请输入实例的公有 DNS 主机名称或公有 IPv4 地址。
(仅限 IPv6) 要使用实例的 IPv6 地址登录,请输入实例的 IPv6 地址。
-
对于 User name (用户名),请输入默认的 AMI 用户名。
-
对于 Amazon Linux AMI,用户名为
ec2-user
。 -
对于 Centos AMI,用户名称是
centos
。 -
对于 Debian AMI,用户名称是
admin
或root
。 -
对于 Fedora AMI,用户名为
ec2-user
或fedora
。 -
对于 RHEL AMI,用户名称是
ec2-user
或root
。 -
对于 SUSE AMI,用户名称是
ec2-user
或root
。 -
对于 Ubuntu AMI,用户名称是
ubuntu
或root
。 -
另外,如果
ec2-user
和root
无法使用,请与 AMI 供应商核实。
-
-
为您的实例指定私有**。对于 Private key ,请输入私有**的路径,或选择"... "按钮以浏览文件。对于较新版本的 WinSCP,请选择 Advanced 以打开高级站点设置,然后在 SSH 下面选择 Authentication 以查找 Private key file 设置。
以下是 WinSCP 版本 5.9.4 中的屏幕截图:
WinSCP 需要 PuTTY 私有**文件 (
.ppk
)。您可以使用 PuTTYgen 将.pem
安全**文件转换成.ppk
格式。有关更多信息,请参阅 使用 PuTTYgen 转换您的私有**。 -
(可选) 在左侧面板中,选择 Directories ,然后对于 Remote directory ,请输入要将文件添加到其中的目录路径。对于较新版本的 WinSCP,请选择 Advanced 以打开高级站点设置,然后在 Environment 下面选择 Directories 以查找 Remote directory 设置。
-
选择 Login 进行连接,然后选择 Yes,将主机指纹添加到主机缓存。
-
建立连接后,在连接窗口中,您的 Linux 实例显示在右侧,本地计算机显示在左侧。您可以直接将文件从本地计算机拖放到远程文件系统。有关 WinSCP 的更多信息,请参阅 Table of Contents :: WinSCP 中的项目文档。
如果您收到一个"Cannot execute SCP to start transfer"(无法执行 SCP 以开始传输) 错误,必须先在 Linux 实例上安装 scp 。对于某些操作系统,该命令会位于
openssh-clients
程序包中。对于 Amazon Linux 变体 (如经 Amazon ECS 优化的 AMI),使用以下命令安装 scp.