在实例上添加或删除公有密钥 - Amazon Elastic Compute Cloud

在实例上添加或删除公有密钥

启动实例时,系统会提示您输入密钥对。如果您在启动时指定密钥对,当您的实例首次启动时,公有密钥将放置在 ~/.ssh/authorized_keys 内的一个条目中的 Linux 实例中。

您可以更改用于访问实例默认系统账户的密钥对,方法是在实例上添加新的公有密钥,或者替换实例上的公有密钥(删除现有公有密钥并添加新的公有密钥)。您还可以从实例中删除所有公有密钥。您可能出于以下原因需要执行这些操作:

  • 如果组织中用户需要使用单独的密钥对访问系统用户账户,您可以向实例中添加一个公有密钥。

  • 如果某人有私有密钥的副本(.pem 文件),而您想要防止他们连接到实例(例如在他们已离开企业的情况下),您可以删除实例上的公有密钥,并将其替换为新的密钥。

  • 如果您从实例创建 Linux AMI,则公有密钥材料将从实例复制到 AMI。如果您从 AMI 启动实例,则新实例将包含来自原始实例的公有密钥。要防止拥有私有密钥的用户连接到新实例,您可以在创建 AMI 之前从原始实例中删除公有密钥。

公有密钥位于实例上的 .ssh/authorized_keys 文件中。

要添加或替换密钥对,您必须能够连接到实例。如果您丢失了现有的私有密钥,或者在没有密钥对的情况下启动了实例,则您将无法连接到实例,因此无法添加或替换密钥对。如果您丢失了私有密钥,则可以检索它。有关更多信息,请参阅 我丢失了私有密钥。我怎样才能连接到我的 Linux 实例?。如果启动实例而没有密钥对,则将无法连接到此实例,除非您选择配置为允许用户以其他方式登录的 AMI。

注意

这些程序用于修改默认用户账户的密钥对,例如 ec2-user。有关向实例添加用户账户的信息,请参阅 管理 Linux 实例的用户账户

添加或替换密钥对

  1. 使用 Amazon EC2 控制台第三方工具创建新的密钥对。

  2. 从新密钥对检索公有密钥。有关更多信息,请参阅检索公有密钥材料

  3. 使用现有私有密钥连接到实例

  4. 使用您选择的文本编辑器,在实例上打开 .ssh/authorized_keys 文件。将新密钥对的公有密钥信息粘贴到现有公有密钥信息下。保存文件。

  5. 从实例分离,并测试能否使用新的私有密钥文件连接到实例。

  6. (可选) 如果您要替换现有密钥对,请连接到实例并从 .ssh/authorized_keys 文件中删除原始密钥对的公有密钥信息。

重要

如果您使用的是 Auto Scaling 组,请确保您要替换的密钥对未在启动模板或启动配置中指定。如果 Amazon EC2 Auto Scaling 检测到运行不正常的实例,它将启动替代实例。但是,如果找不到密钥对,则实例启动失败。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的启动模板

要从实例中删除公有密钥

  1. 连接到您的实例

  2. 使用您选择的文本编辑器,在实例上打开 .ssh/authorized_keys 文件。删除公有密钥信息,然后保存该文件。

警告

从实例中删除所有公有密钥并断开与实例的连接后,您将无法再次连接到该实例,除非 AMI 提供了其他登录方式。