从 Lightsail 快照启动的安全 Amazon EC2 实例 - Amazon Lightsail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从 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.pubLinux 和 Unix 实例上的此密钥允许基于 Lightsail 浏览器的 SSH 客户端进行连接。使用 Lightsail 控制台中的 “创建亚马逊 EC2 实例” 页面或 Lightsail API 创建 EC2 实例时,该lightsail_instance_ca.pub密钥会自动删除。

内容

使用 Amazon EC2 创建私有密钥

使用 Amazon EC2 控制台创建新的密钥对,您可以使用它来替换 Lightsail 的默认密钥对。

使用 Amazon EC2 创建密钥对
  1. 登录 Amazon EC2 控制台

  2. 在左侧导航窗格中,选择 Key Pairs (密钥对)

  3. 选择 Create key pair (创建密钥对)

    Amazon EC2 控制台中的密钥对。
  4. Key pair name (密钥对名称) 文本框中输入一个密钥名称,然后选择 Create (创建)

    此时会自动下载新的私有密钥。记下该私有密钥的保存位置。您需要在本指南中下面的使用 PuTTYgen 创建公有密钥部分使用它来创建公有密钥。

    创建 Amazon EC2 控制台中的密钥对。

使用 PuTTYgen 创建公有密钥

PuTTYgen 是一个包含在 PuTTY 中的工具。使用 PuTTYgen 生成稍后在本指南中添加到您的实例的公有密钥文本。

注意

有关如何配置 PuTTY 以连接到您的 Linux 或 Unix 实例的更多信息,请参阅连接从 Lightsail 快照创建的 Amazon EC2 Linux 或 Unix 实例。

使用 PuTTYgen 创建公有密钥
  1. 启动 PuTTYgen。

    例如,依次选择 Windows 开始菜单、所有程序PuTTYPuTTYgen

    PuTTY Key Generator。
  2. 选择 Load (打开)

    默认情况下,PuTTYgen 仅显示扩展名为 .PPK 的文件。要找到您的 .PEM 文件,请选择相应选项以显示所有类型的文件。

    将 Lightsail 私钥加载到 Putty 密钥生成器。
  3. 导航到本指南中之前创建的私有密钥的位置。选择私有密钥,然后选择 Open (打开)

  4. PuTTYgen 确认您已成功导入该密钥后,您可以选择 OK (确定)

  5. 突出显示 Public key (公有密钥) 文本框的内容,然后按 Ctrl+C (如果您使用的是 Windows) 或按 Cmd+C (如果您使用的是 macOS),将其复制到剪贴板。

    打开文本编辑器,例如记事本或,如果你使用的是 Windows TextEdit,请按 Ctrl+V 将公钥文本粘贴到其中,如果你使用的是 macOS,则按 Cmd+V。保存这个含有您的公有密钥文本的文件;稍后您需要在本指南中使用它。

    PuTTY 密钥生成器。
  6. 继续执行本指南的连接到 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 默认密钥。

将公有密钥添加到您的实例并测试连接
  1. 建立与实例的 SSH 连接后,请输入以下命令以在 Vim 文本编辑器中编辑 authorized_keys

    sudo vim ~/.ssh/authorized_keys
    注意

    本指南将使用 Vim 演示这些步骤。但是,您可以使用任何文本编辑器执行这些步骤。

    Lightsail 默认密钥。
  2. I 键以进入 Vim 编辑器的插入模式。

  3. 在 Lightsail 默认密钥之后再输入一行。

  4. 复制并粘贴您之前在本指南中保存的公有密钥文本。

    结果应该类似以下内容:

    Lightsail 默认密钥。
  5. ESC 键,然后输入 :wq! 以保存您的编辑内容并退出 Vim。

  6. 输入以下命令以重新启动 Open SSH 服务器:

    sudo /etc/init.d/sshd restart

    您应该会看到类似以下内容的结果:

    Lightsail 默认密钥。

    新的公有密钥现已添加到您的实例。要测试新的密钥对,请断开与您的实例的连接。将 PuTTY 配置为使用你的新私钥而不是 Lightsail 的默认密钥。如果您能够使用新的密钥对成功连接到您的实例,请继续阅读本指南的移除 Lightsail 默认密钥部分,移除 Lig htsail 默认密钥。

移除 Lightsail 的默认密钥

在向实例添加新的公钥并使用新的密钥对成功连接到实例后,请移除 Lightsail 默认密钥。

移除 Lightsail 的默认密钥
  1. 建立与实例的 SSH 连接后,请输入以下命令以在 Vim 文本编辑器中编辑 authorized_keys file

    sudo vim ~/.ssh/authorized_keys
  2. I 键以进入 Vim 编辑器的插入模式。

  3. 删除以 LightsailDefaultKeyPair 结尾的行。这是 Lightsail 的默认密钥。

    Lightsail 默认密钥。
  4. ESC 键,然后输入 :wq! 以保存您的编辑内容并退出 Vim。

  5. 输入以下命令以重新启动 Open SSH 服务器:

    sudo /etc/init.d/sshd restart

    您应该会看到类似以下内容的结果:

    Lightsail 默认密钥。

    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 系统密钥
  1. 在连接到实例的 SSH 终端窗口中,输入以下命令以删除 lightsail_instance_ca.pub 密钥:

    sudo rm –r /etc/ssh/lightsail_instance_ca.pub
  2. 输入以下命令,以使用 Vim 文本编辑器编辑 sshd_config 文件。

    sudo vim /etc/ssh/sshd_config
  3. I 键以进入 Vim 编辑器的插入模式。

  4. 如果该文件中出现以下文本,请将其删除:

    TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub
  5. ESC 键,然后输入 :wq! 以保存您的编辑内容并退出 Vim。

  6. 输入以下命令以重新启动 Open SSH 服务器:

    sudo /etc/init.d/sshd restart

    您应该会看到类似以下内容的结果:

    Lightsail 默认密钥。

    lightsail_instance_ca.pub 密钥现已从您的实例中删除。相关联的 sshd_config 文件已更新,以排除该密钥。