You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

丢失EC2 CentOS实例密钥对,如何登录及解决PPK文件格式错误?

无需密钥对登录EC2 CentOS实例的方法

方法一:通过AWS Systems Manager Session Manager登录

  • 前提:实例预装了SSM Agent(CentOS 7及以上版本默认自带),实例关联了带AmazonSSMManagedInstanceCore权限的IAM角色,实例能访问SSM服务(公有子网带公网IP,或配置了VPC端点)
  • 操作:
    1. 打开AWS EC2控制台,找到目标实例
    2. 右键实例,选「连接」→切换到「Session Manager」标签
    3. 点击「连接」,直接进入实例命令行

方法二:通过EC2串行控制台登录(适合网络不可达但实例能启动的情况)

  • 前提:实例所在区域支持串行控制台,已启用串行控制台访问,你有EC2Connect相关IAM权限
  • 操作:
    1. 进入EC2控制台,找到目标实例
    2. 右键实例,选「连接」→切换到「串行控制台」标签
    3. 点击「连接」,输入实例root密码登录;如果没设置过密码,按以下步骤重置:
      • 停止目标实例,右键选「实例设置」→「编辑用户数据」
      • 填入以下脚本(替换new_password为你的新密码):
        #!/bin/bash
        echo "root:new_password" | chpasswd
        sed -i 's/^PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
        systemctl restart sshd
        
      • 启动实例,再通过串行控制台用root和新密码登录

方法三:挂载实例磁盘到临时EC2实例修改配置

  • 操作:
    1. 停止目标实例,分离其根卷(记好卷的设备名,比如/dev/xvda)
    2. 启动一个同区域、同系统的临时EC2实例(用你有密钥对的实例)
    3. 把分离的根卷挂载到临时实例,比如挂载到/mnt/recovery
    4. 进入挂载的磁盘目录,修改/mnt/recovery/root/.ssh/authorized_keys添加你的本地公钥,或者修改sshd配置允许密码登录并设置root密码
    5. 卸载磁盘,重新挂载回原实例,启动原实例后即可用新密钥或密码登录

内容的提问来源于stack exchange,提问作者parag tamhane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:11:05