删除密钥对对 ec2 实例的影响

use*_*778 6 keys amazon-ec2

如果通过 aws 管理控制台删除与 ec2 实例关联的密钥对会发生什么?这会永远阻止对实例的访问吗?

Eri*_*ond 6

如果您删除 AWS 存储的密钥对(例如,使用 AWS 控制台),您实际上只是删除了他们的 ssh 公钥副本。这不会阻止您继续使用本地存储的 ssh 私钥 ssh 进入现有实例,因为您的实例将继续在 .ssh/authorized_keys 中拥有公钥的副本。它只是阻止您使用相同的密钥对创建新实例。

在一个相关的问题中(以防人们最终在这里寻找这个答案)......

如果您删除了 ssh 私钥的本地副本,那么如果这是 .ssh/authorized_keys 文件中存储的唯一公钥,您将无法 ssh 进入实例。但是,您仍然可以按照我在本文中概述的过程访问该实例:修复 EC2 实例的根 EBS 卷上的文件

  1. 停止(不终止)EBS 启动实例
  2. 将 EBS 启动卷移动到不同的运行实例
  3. 修复文件(即 .ssh/authorized_keys)
  4. 将 EBS 启动卷移回原始实例
  5. 启动实例

此过程仅适用于 EBS 启动实例,这也是我建议您运行 EBS 启动实例众多原因之一


sce*_*aux 4

您将能够使用已删除对的私钥登录实例,直到您终止实例。由于您将无法使用该密钥对启动新实例,因此您应该删除旧的公钥并尽快生成一个新的密钥对。

我建议您使用自己的 SSH 密钥(针对每个用户)配置实例(使用 Chef、puppet、cfengine...),并仅使用 EC2 作为最终资源。它提高了安全性并简化了用户登录实例的管理和控制。