AWS EC2 密钥对丢失怎么办:四种恢复登录的方法
📑 本文目录
方法一:EC2 Instance Connect(最快,先试这个)方法二:SSM Session Manager方法三:用户数据脚本(需要停机)方法四:挂盘修复(最后手段)亡羊补牢常见问题如何开通并登录该国际云账号?国际站账号和中国站账号能通用吗?没有海外信用卡能否完成开通或充值?延伸阅读与下一步AWS 从不保存你的私钥,.pem 丢了就是真丢了——但实例还有救。按下面顺序从简单到复杂尝试,绝大多数情况前两种就能解决。
方法一:EC2 Instance Connect(最快,先试这个)
适用于 Amazon Linux 与 Ubuntu 官方镜像:
- EC2 控制台 → 选中实例 → Connect → EC2 Instance Connect
- 浏览器里直接打开一个 shell,无需任何密钥
- 进去后立刻给自己补一把新钥匙:
# 本地先生成新密钥对:ssh-keygen -t ed25519
echo '你的新公钥内容' >> ~/.ssh/authorized_keys
之后用新私钥正常 SSH。
方法二:SSM Session Manager
实例上装有 SSM Agent(Amazon Linux 默认有)且实例角色有 SSM 权限时:
- 给实例附加带
AmazonSSMManagedInstanceCore策略的 IAM Role - Systems Manager → Session Manager → Start session
- 同样进 shell 后补新公钥
好处:不依赖 22 端口和安全组,堡垒级救援通道。建议平时就配好,当保险。
方法三:用户数据脚本(需要停机)
前两种都不行时:
- 停止实例(Stop,不是 Terminate)
- Actions → Instance settings → Edit user data,填入开机脚本把新公钥写进 authorized_keys(cloud-init 的 users 配置或 bootcmd)
- 启动实例后用新钥匙连
- 成功后清掉 user data
方法四:挂盘修复(最后手段)
- 停止故障实例,卸下其根卷(EBS)
- 把根卷挂到同可用区的一台临时实例上
- 在临时实例上挂载该卷,手动编辑其中的
home/用户名/.ssh/authorized_keys写入新公钥 - 卸载、挂回原实例、开机
亡羊补牢
- 新私钥放密码管理器 + 加密备份,两处存放
- 重要实例提前配好 SSM,以后再丢钥匙 30 秒解决
- 团队环境:每人独立密钥,避免「唯一一把钥匙」在某个人手里
常见问题
如何开通并登录该国际云账号?
先确认使用的是国际站而非中国站。可按本文步骤办理;也可通过申请账号开通并用 USDT-TRC20 支付订单。交付后请立即开启 MFA,并核对账号邮箱与 UID。
国际站账号和中国站账号能通用吗?
通常不能。国际站与中国站多为独立账号体系,控制台、结算与产品权限不互通,请使用对应站点的登录入口,避免串站导致无法登录或资源不可见。
没有海外信用卡能否完成开通或充值?
可以走平台支持的 USDT-TRC20 订单支付与自助充值。支付时务必按订单显示的精确金额转账,并在区块链浏览器确认网络、地址与状态。