本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 Lightsail 快照启动的亚马逊安全 EC2实例
亚马逊 Lightsail 和亚马逊弹性计算云 EC2(亚马逊)使用公钥加密来加密和解密登录信息。公有密钥密码术使用公有密钥加密某个数据 (如一个密码),然后收件人可以使用私有密钥解密数据。公有和私有密钥被称为密钥对。
当你将 Linux 或 Unix Lightsail 实例导出到时 EC2,新 EC2 实例将包含来自 Lightsail 服务的剩余密钥。作为最佳安全实践,您应删除实例中未使用的密钥。
为了提高从 Lightsail 快照创建 EC2 的 Linux 或 Unix 实例的安全性,我们建议您在创建实例后执行以下操作:
-
如果你使用 Lightsail 默认密钥连接到 Lightsail 中的源实例,请移除并替换该密钥。如果您使用自己的密钥连接到您的 EC2 实例,或者您在 Lightsail 控制台中为实例创建了密钥,那么您的亚马逊实例中不存在 Lightsail 默认密钥。
-
移除 Lightsail 系统密钥,也称为密钥。
lightsail_instance_ca.pub
Linux 和 Unix 实例上的此密钥允许基于 Lightsail 浏览器的 SSH 客户端进行连接。使用 Lightsail 控制台中的 “创建亚马逊 EC2 实例” 页面或 Lightsail API 创建 EC2 实例时,该lightsail_instance_ca.pub
密钥会自动删除。
内容
使用 Amazon 创建私钥 EC2
使用亚马逊 EC2 控制台创建新的密钥对,您可以使用它来替换 Lightsail 的默认密钥对。
使用 Amazon 创建私钥 EC2
-
登录 Amazon EC2 控制台
。 -
在左侧导航窗格中,选择 Key Pairs (密钥对)。
-
选择 Create key pair (创建密钥对)。
-
在 Key pair name (密钥对名称) 文本框中输入一个密钥名称,然后选择 Create (创建)。
此时会自动下载新的私有密钥。记下该私有密钥的保存位置。您需要在本指南的以下使用 Pu 创建公钥TTYgen部分中使用它来创建公钥。
使用 Pu 创建公钥 TTYgen
Pu TTYgen 是 Putty 中包含的工具。使用 Pu TTYgen 生成公钥文本,您将在本指南的后面部分将其添加到您的实例中。
注意
有关如何配置 PuTTY 以连接到你的 Linux 或 Unix 实例的更多信息,请参阅连接到通过 Lightsail 快照创建的亚马逊 EC2 Linux 或 Unix 实例。
使用 Pu 创建公钥 TTYgen
-
启动 Pu TTYgen。
例如,选择 Windows 的 “开始” 菜单,选择 “所有程序”,选择 “Putty”,然后选择 Pu。TTYgen
-
选择 Load (打开)。
默认情况下,Pu 仅TTYgen 显示扩展名为.PPK 的文件。要找到您的 .PEM 文件,请选择相应选项以显示所有类型的文件。
-
导航到本指南中之前创建的私有密钥的位置。选择私有密钥,然后选择 Open (打开)。
-
Pu TTYgen 确认成功导入密钥后,选择 OK。
-
突出显示 Public key (公有密钥) 文本框的内容,然后按 Ctrl+C (如果您使用的是 Windows) 或按 Cmd+C (如果您使用的是 macOS),将其复制到剪贴板。
打开文本编辑器,例如记事本或,如果你使用的是 Windows TextEdit,请按 Ctrl+V 将公钥文本粘贴到其中,如果你使用的是 macOS,则按 Cmd+V。保存这个含有您的公有密钥文本的文件;稍后您需要在本指南中使用它。
-
继续阅读本指南的 “在 Amazon 中连接您的 Linux 或 Uni x 实例 EC2” 部分,连接到您的 EC2 实例并添加公钥。
在亚马逊上连接到你的 Linux 或 Unix 实例 EC2
EC2 使用 SSH 连接到你在亚马逊的 Linux 或 Unix 实例,移除 Lightsail 的默认密钥和系统密钥。有关更多信息,请参阅连接到根据亚马逊 Lightsail 快照 EC2 创建的亚马逊中的 Linux 或 Unix 实例。
在 Amazon 中连接到您的实例后,继续阅读本指南的向您的实例添加公钥并测试连接部分 EC2。
将公有密钥添加到您的实例并测试连接
公有密钥内容保存在 Linux 和 Unix 实例上的 ~/.ssh/authorized_keys
文件中。编辑文件以从亚马逊的 Linux 或 Unix 实例中删除和替换 Lightsail 默认密钥。 EC2
将公有密钥添加到您的实例并测试连接
-
建立与实例的 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 客户端进行连接。执行以下步骤从亚马逊的 Linux 或 Unix 实例中删除lightsail_instance_ca.pub
密钥 EC2,然后编辑该/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
文件已更新,以排除该密钥。