本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 Lightsail 快照启动的安全 Amazon EC2 实例
Amazon Lightsail 和亚马逊弹性计算云 (Amazon EC2) 使用公钥加密来加密和解密登录信息。公有密钥密码术使用公有密钥加密某个数据 (如一个密码),然后收件人可以使用私有密钥解密数据。公有和私有密钥被称为密钥对。
当你将 Linux 或 Unix Lightsail 实例导出到 EC2 时,新的 EC2 实例将包含来自 Lightsail 服务的剩余密钥。作为最佳安全实践,您应删除实例中未使用的密钥。
为了提高从 Lightsail 快照创建的 EC2 中的 Linux 或 Unix 实例的安全性,我们建议您在创建实例后执行以下操作:
-
如果你使用 Lightsail 默认密钥连接到 Lightsail 中的源实例,请移除并替换该密钥。如果您使用自己的密钥连接到您的实例,或者您在 Lightsail 控制台中为实例创建了密钥,则您的 Amazon EC2 实例中不存在 Lightsail 默认密钥。
-
移除 Lightsail 系统密钥,也称为密钥。
lightsail_instance_ca.pub
Linux 和 Unix 实例上的此密钥允许基于 Lightsail 浏览器的 SSH 客户端进行连接。使用 Lightsail 控制台中的 “创建亚马逊 EC2 实例” 页面或 Lightsail API 创建 EC2 实例时,该lightsail_instance_ca.pub
密钥会自动删除。
内容
使用 Amazon EC2 创建私有密钥
使用 Amazon EC2 控制台创建新的密钥对,您可以使用它来替换 Lightsail 的默认密钥对。
使用 Amazon EC2 创建密钥对
-
登录 Amazon EC2 控制台
。 -
在左侧导航窗格中,选择 Key Pairs (密钥对)。
-
选择 Create key pair (创建密钥对)。
-
在 Key pair name (密钥对名称) 文本框中输入一个密钥名称,然后选择 Create (创建)。
此时会自动下载新的私有密钥。记下该私有密钥的保存位置。您需要在本指南中下面的使用 PuTTYgen 创建公有密钥部分使用它来创建公有密钥。
使用 PuTTYgen 创建公有密钥
PuTTYgen 是一个包含在 PuTTY 中的工具。使用 PuTTYgen 生成稍后在本指南中添加到您的实例的公有密钥文本。
注意
有关如何配置 PuTTY 以连接到您的 Linux 或 Unix 实例的更多信息,请参阅连接从 Lightsail 快照创建的 Amazon EC2 Linux 或 Unix 实例。
使用 PuTTYgen 创建公有密钥
-
启动 PuTTYgen。
例如,依次选择 Windows 开始菜单、所有程序、PuTTY 和 PuTTYgen。
-
选择 Load (打开)。
默认情况下,PuTTYgen 仅显示扩展名为 .PPK 的文件。要找到您的 .PEM 文件,请选择相应选项以显示所有类型的文件。
-
导航到本指南中之前创建的私有密钥的位置。选择私有密钥,然后选择 Open (打开)。
-
PuTTYgen 确认您已成功导入该密钥后,您可以选择 OK (确定)。
-
突出显示 Public key (公有密钥) 文本框的内容,然后按 Ctrl+C (如果您使用的是 Windows) 或按 Cmd+C (如果您使用的是 macOS),将其复制到剪贴板。
打开文本编辑器,例如记事本或,如果你使用的是 Windows TextEdit,请按 Ctrl+V 将公钥文本粘贴到其中,如果你使用的是 macOS,则按 Cmd+V。保存这个含有您的公有密钥文本的文件;稍后您需要在本指南中使用它。
-
继续执行本指南的连接到 Amazon EC2 中的 Linux 或 Unix 实例部分,以连接到您的 EC2 实例并添加公有密钥。
连接到 Amazon EC2 中的 Linux 或 Unix 实例
使用 SSH 连接到亚马逊 EC2 中的 Linux 或 Unix 实例,删除 Lightsail 的默认密钥和系统密钥。有关更多信息,请参阅连接亚马逊 EC2 中根据亚马逊 Lightsail 快照创建的 Linux 或 Unix 实例。
在 Amazon EC2 中连接到实例后,继续执行本指南的将公有密钥添加到您的实例并测试连接部分。
将公有密钥添加到您的实例并测试连接
公有密钥内容保存在 Linux 和 Unix 实例上的 ~/.ssh/authorized_keys
文件中。编辑文件以删除和替换 Amazon EC2 中的 Linux 或 Unix 实例中的 Lightsail 默认密钥。
将公有密钥添加到您的实例并测试连接
-
建立与实例的 SSH 连接后,请输入以下命令以在 Vim 文本编辑器中编辑
authorized_keys
。sudo vim ~/.ssh/authorized_keys
注意
本指南将使用 Vim 演示这些步骤。但是,您可以使用任何文本编辑器执行这些步骤。
-
按
I
键以进入 Vim 编辑器的插入模式。 -
在 Lightsail 默认密钥之后再输入一行。
-
复制并粘贴您之前在本指南中保存的公有密钥文本。
结果应该类似以下内容:
-
按
ESC
键,然后输入:wq!
以保存您的编辑内容并退出 Vim。 -
输入以下命令以重新启动 Open SSH 服务器:
sudo /etc/init.d/sshd restart
您应该会看到类似以下内容的结果:
新的公有密钥现已添加到您的实例。要测试新的密钥对,请断开与您的实例的连接。将 PuTTY 配置为使用你的新私钥而不是 Lightsail 的默认密钥。如果您能够使用新的密钥对成功连接到您的实例,请继续阅读本指南的移除 Lightsail 默认密钥部分,移除 Lig htsail 默认密钥。
移除 Lightsail 的默认密钥
在向实例添加新的公钥并使用新的密钥对成功连接到实例后,请移除 Lightsail 默认密钥。
移除 Lightsail 的默认密钥
-
建立与实例的 SSH 连接后,请输入以下命令以在 Vim 文本编辑器中编辑
authorized_keys file
。sudo vim ~/.ssh/authorized_keys
-
按
I
键以进入 Vim 编辑器的插入模式。 -
删除以
LightsailDefaultKeyPair
结尾的行。这是 Lightsail 的默认密钥。 -
按
ESC
键,然后输入:wq!
以保存您的编辑内容并退出 Vim。 -
输入以下命令以重新启动 Open SSH 服务器:
sudo /etc/init.d/sshd restart
您应该会看到类似以下内容的结果:
Lightsail 默认密钥现已从您的实例中移除。现在,您的实例将拒绝使用 Lightsail 默认密钥的连接。继续阅读本指南的移除 Lightsail 系统密钥部分,移除 Lightsail 系统密钥。
移除 Lightsail 系统密钥
Linux 和 Unix 实例上的 Lightsail 系统lightsail_instance_ca.pub
密钥(也称为密钥)允许基于 Lightsail 浏览器的 SSH 客户端进行连接。执行以下步骤以从 Amazon EC2 中的 Linux 或 Unix 实例中删除 lightsail_instance_ca.pub
密钥,并编辑该 /etc/ssh/sshd_config
文件。该 /etc/ssh/sshd_config
文件定义了用于与您的实例建立 SSH 连接的参数。
移除 Lightsail 系统密钥
-
在连接到实例的 SSH 终端窗口中,输入以下命令以删除
lightsail_instance_ca.pub
密钥:sudo rm –r /etc/ssh/lightsail_instance_ca.pub
-
输入以下命令,以使用 Vim 文本编辑器编辑
sshd_config
文件。sudo vim /etc/ssh/sshd_config
-
按
I
键以进入 Vim 编辑器的插入模式。 -
如果该文件中出现以下文本,请将其删除:
TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub
-
按
ESC
键,然后输入:wq!
以保存您的编辑内容并退出 Vim。 -
输入以下命令以重新启动 Open SSH 服务器:
sudo /etc/init.d/sshd restart
您应该会看到类似以下内容的结果:
lightsail_instance_ca.pub
密钥现已从您的实例中删除。相关联的sshd_config
文件已更新,以排除该密钥。