如何找回AWS私钥?丢失.ppk文件无法访问EC2的解决方案
解决丢失PPK文件后访问EC2实例的方法
首先明确:丢失的PPK文件无法直接找回,你需要通过其他方式重新获取实例访问权限,以下是几种可行方案:
方案1:挂载EBS卷到其他可访问的EC2实例
- 停止目标EC2实例(注意:实例存储卷的实例停止后数据会丢失,操作前确认卷类型为EBS)
- 从目标实例上分离对应的EBS卷
- 启动一个你已有密钥对的同区域EC2实例
- 将分离的EBS卷挂载到新实例的空闲挂载点
- 登录新实例,执行挂载命令(比如
sudo mount /dev/xvdf /mnt/old-volume,需根据实际设备名调整),即可访问原实例的文件 - 操作完成后,卸载卷、重新挂载回原实例,再启动原实例
方案2:通过Systems Manager Session Manager访问(需满足前置条件)
- 确认目标EC2实例已安装SSM Agent(Amazon Linux 2/AMI默认预装,其他系统需提前安装,未安装则此方法不可用)
- 确认实例的IAM角色已附加
AmazonSSMManagedInstanceCore权限策略 - 登录AWS控制台,进入Systems Manager的Session Manager模块,选择目标实例启动会话,即可在浏览器内直接访问实例终端,无需密钥
方案3:替换实例的启动密钥对
- 停止目标EC2实例
- 右键实例,选择实例设置 > 替换AMI启动密钥对
- 选择已有密钥对(或创建新密钥对)完成替换
- 启动实例后,将新密钥对转换为PPK格式,即可用PuTTY登录
你之前在实例内创建新密钥对无效,是因为EC2的SSH认证依赖的是实例启动时关联的密钥对,实例内部创建的密钥对不会被AWS系统识别,必须通过控制台完成密钥对与实例的关联操作。
内容的提问来源于stack exchange,提问作者Jazim PK
相关产品推荐
相关产品推荐

