管理存储在 Lightsail 实例上的 SSH 密钥 - Amazon Lightsail

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

管理存储在 Lightsail 实例上的 SSH 密钥

您可以使用密钥对建立到 Amazon Lightsail 实例的安全连接。当您首次创建 Linux 或 Unix 实例时,Lightsail 会在该实例上配置密钥对的公有密钥。密钥对的私有密钥用于在建立 SSH 连接时对实例进行身份验证。有关密钥的更多信息,请参阅密钥对以及连接到实例

在实例启动并运行后,您可以通过在实例上添加新的公有密钥,或者替换实例上的公有密钥(删除现有公有密钥并添加新的公有密钥),从而更改用于连接到实例的密钥对。您可能出于以下原因来执行该操作:

  • 如果组织中有用户需要使用单独的密钥对访问实例,您可以将此公有密钥添加到实例。

  • 如果您需要保护从使用已泄露密钥的实例的快照创建的新实例。

  • 如果有人拥有私有密钥的副本,而您想要防止他们连接到实例(例如他们已离开组织时),您可以删除实例上的公有密钥,并将其替换为新的公有密钥。

要添加或替换实例上的密钥,您必须能够连接到实例。如果您现有的私有密钥丢失,则可以使用 Lightsail 基于浏览器的 SSH 客户端连接到实例。有关更多信息,请参阅连接到 Linux 或 Unix 实例

内容

步骤 1:了解流程

以下是在实例上添加和删除密钥的一般步骤。如果您想从实例中删除密钥但不添加新密钥,请参阅本指南后面的第 5 步:从实例中删除现有的公有密钥

  1. 创建密钥对 – 要向您的实例添加新密钥,则必须首先创建新的密钥对。您可以使用 Lightsail 控制台创建自定义或默认密钥对,也可使用第三方工具(例如 ssh-keygen)在本地电脑上创建。这两种方法都会生成一个由公有密钥和私有密钥组成的新密钥对。有关更多信息,请参阅本指南后面的第 2 步:创建密钥对

  2. 将公有密钥添加到实例 – 创建密钥对后,您可以使用 SSH 连接到实例并将密钥对的公有密钥添加到实例。有关更多信息,请参阅本指南后面的第 3 步:将公有密钥添加到实例

  3. 测试能否使用新的密钥对连接到实例 – 在实例上保存密钥对的公有密钥后,需要测试是否可以使用密钥对的私有密钥通过 SSH 连接到实例。有关更多信息,请参阅本指南后面的第 4 步:使用新密钥对连接到实例

  4. 从实例中删除旧公有密钥 – 使用新密钥成功连接到实例后,您可以从实例中删除旧公有密钥。完成此步骤以防止用户使用旧密钥对连接到实例。有关更多信息,请本指南后面的第 5 步:从实例中删除现有的公有密钥

第 2 步:创建密钥对

完成以下步骤以使用 ssh-keygen 在本地电脑上创建一个密钥对。

  1. 在本地电脑上打开命令提示符或终端。

  2. 输入以下命令以创建密钥对。

    ssh-keygen -t rsa
  3. 在电脑上指定用于保存密钥对的目录位置。

    例如:

    • 在 Windows 上: C:\Users\<UserName>\.ssh\<KeyPairName>

    • Linux、macOS 或 Unix:/home/<UserName>/.ssh/<KeyPairName>

    <UserName> 替换为您当前登录的用户名称,并将 <KeyPairName> 替换为新密钥对的名称。

    在以下示例中,我们指定了 Windows 电脑上的 C:\Keys 目录,并将新密钥命名为 MyNewLightsailCustomKey

    
            目录位置 C:\Keys
  4. 输入密钥的密码短语然后按 Enter 键。输入密码短语时您不会看到它。

    稍后在 SSH 客户端上配置私有密钥以连接到已配置公有密钥的实例时,您将需要此密码短语。

    
            密码短语
  5. 再次输入密码短语以进行确认,然后按下 Enter 键。输入密码短语时您不会看到它。

    
            密码短语
  6. 提示消息将会确认您的私有密钥和公有密钥已保存到指定目录中。

    
            身份文件保存位置
  7. 打开公有密钥(.PUB)文件,然后复制文件中的文本。

    
            复制到公有密钥文件的内容

继续按照本指南的下一部分操作,以将新的公有密钥添加到您的 Lightsail 实例。

第 3 步:将公有密钥添加到实例

完成以下过程以将公有密钥添加到您的实例中。公有密钥内容保存在 Linux 和 Unix 实例上的 ~/.ssh/authorized_keys 文件中。

  1. 登录到 Lightsail 控制台

  2. 选择 主页的 InstancesLightsail(实例)选项卡。

  3. 选择适用于要连接的实例的基于浏览器的 SSH 客户端图标。

    
            选择基于浏览器的 SSH 客户端
  4. 连接成功后,输入以下命令,以使用您选择的文本编辑器编辑 authorized_keys 文件。以下步骤将使用 Vim 进行演示。

    sudo vim ~/.ssh/authorized_keys

    您应看到类似于以下示例的结果,其中显示了在实例上配置的当前公有密钥。在我们的示例中,创建实例所在 AWS 区域的 Lightsail 默认密钥是在实例上配置的唯一公有密钥。

    
            编辑授权密钥文件
  5. 在 Vim 编辑器中按 I 键以进入插入模式。

  6. 在文件中的最后一个公有密钥之后输入换行符。

  7. 粘贴您之前在本指南中复制的公有密钥文本(创建新密钥对之后)。您会看到类似于以下示例的结果:

    
            粘贴公有密钥
  8. ESC 键。然后键入 :wq! 并按 Enter 键以保存编辑内容,然后退出 Vim 编辑器。

新的公有密钥现已添加到您的实例。继续按照本指南的下一部分操作,以使用新的公有密钥连接到实例。

第 4 步:使用新密钥对连接到实例

要测试新密钥对,请断开与实例的连接,然后使用您之前在本指南中创建的私有密钥重新连接。有关更多信息,请参阅密钥对以及连接到 Amazon Lightsail 中的实例。使用新密钥成功连接到实例后,您可以从实例中删除旧密钥。继续下一步骤以了解如何从实例中删除公有密钥。

第 5 步:从实例中删除现有的公有密钥

完成以下过程以从实例中删除公有密钥。这可以防止用户使用旧密钥对连接到实例。使用新密钥对成功连接到实例后,请执行此操作。

  1. 使用 SSH 连接到实例。

  2. 输入以下命令,以使用您选择的文本编辑器编辑 authorized_keys 文件。以下步骤将使用 Vim 进行演示。

    sudo vim ~/.ssh/authorized_keys
  3. 在 Vim 编辑器中按字母 I 键以进入插入模式。

  4. 删除包含要从实例中删除的公有密钥的文本行。

    
            删除旧公有密钥

    结果应与以下示例类似,仅显示新的公有密钥。

    
            保留新的公有密钥
  5. ESC 键。然后键入 :wq! 并按 Enter 键以保存编辑内容,然后退出 Vim 编辑器。

删除的密钥随即从您的实例中删除。您的实例将拒绝使用该密钥对的私有密钥进行连接。