EC2 密钥对

发布: (2025年12月19日 GMT+8 13:46)
2 min read
原文: Dev.to

Source: Dev.to

EC2 密钥对

  • 公钥 – 由 AWS 存储并放置在 EC2 实例上(位于 ~/.ssh/authorized_keys 中)。
  • 私钥 – 下载到本地机器;AWS 永不存储,下载后无法再恢复。

EC2 密钥对的工作原理

  1. 启动实例时,你可以选择已有的密钥对,或让 AWS 创建一个新的密钥对。
  2. 创建后,你下载私钥;随后 AWS 会从其侧删除该私钥。
  3. 公钥会存储在实例的 ~/.ssh/authorized_keys 文件中。
  4. SSH 连接使用私钥而不是密码。

注意: 从 EC2 控制台删除密钥对 不会 删除实例根卷中对应的公钥。如果实例是从已经包含密钥的预构建 AMI 启动的,旧的公钥和新的公钥都会存在,允许使用任意对应的私钥进行 SSH 登录。

Instance Connect

  1. 用户通过 EC2 Instance Connect API 发起连接。
  2. Instance Connect 生成临时密钥对。
  3. 临时公钥通过实例元数据发送到实例,仅在 60 秒内有效。
  4. EC2 Instance Connect 使用临时私钥(在 AWS IP 地址范围内)SSH 登录实例。
  5. 会话记录在 CloudTrail 中。

私钥丢失时的访问恢复

  1. 在 EC2 控制台 创建一个新密钥对
  2. 停止 受影响的 EC2 实例。
  3. 分离 其根 EBS 卷。
  4. 将该卷 附加 到临时 EC2 实例作为次要卷。
  5. 挂载卷(如果未自动挂载),编辑 ~/.ssh/authorized_keys,添加新的公钥。
  6. 分离 临时实例上的卷,并 重新附加 回原实例。
  7. 启动 原实例;此时即可使用新创建的私钥进行 SSH 登录。
Back to Blog

相关文章

阅读更多 »