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

如何恢复AWS上运行MySQL的Ubuntu EC2实例的SSH密钥

找回EC2实例SSH登录权限的可行方案

针对你丢失第4台Ubuntu 19 EC2实例SSH私钥的情况,结合你提供的实例正常运行、存在包含SSH密钥的AMI这些信息,以下是几个快速恢复登录权限的方案:

方案一:通过挂载根卷重置authorized_keys

这是最直接的方法,利用你现有的SSH密钥对重新配置目标实例的登录权限:

  1. 安全停止目标实例:先登录MySQL执行mysqladmin shutdown,再通过AWS控制台停止实例,避免数据损坏。
  2. 分离根卷:在EC2控制台找到目标实例,分离其根卷(通常是/dev/sda1)。
  3. 创建临时实例:使用你持有的其中一个SSH密钥对,在同区域创建一台Ubuntu 19临时EC2实例。
  4. 挂载根卷到临时实例:将分离的根卷挂载到临时实例的某个挂载点(比如/mnt/recovery),挂载命令示例:
    sudo mkdir -p /mnt/recovery
    sudo mount /dev/xvdf /mnt/recovery  # 这里的xvdf是挂载后的设备名,以实际为准
    
  5. 修改authorized_keys:编辑挂载卷中的授权文件,添加你现有密钥对的公钥:
    sudo nano /mnt/recovery/home/ubuntu/.ssh/authorized_keys
    
    将你现有私钥对应的公钥内容粘贴进去,保存退出。
  6. 恢复根卷并启动实例:卸载挂载的卷(sudo umount /mnt/recovery),将根卷重新挂载回目标实例,启动实例后即可用你现有密钥对登录。

方案二:利用AWS Systems Manager Session Manager登录(无需SSH密钥)

如果目标实例满足以下条件,可以直接通过AWS控制台登录:

  • 实例已安装SSM Agent(Ubuntu 19的官方AMI默认预装)
  • 实例关联的IAM角色包含AmazonSSMManagedInstanceCore权限
  • 实例处于可以访问AWS SSM服务的网络环境(比如公有子网或有NAT网关的私有子网)

满足条件后,直接在AWS控制台进入Systems Manager > Session Manager,选择目标实例启动会话,登录后即可修改/home/ubuntu/.ssh/authorized_keys添加你的现有密钥,后续就能正常SSH登录。

注意事项

  • 操作前务必为目标实例的根卷创建快照,防止数据丢失。
  • 重启目标实例后,验证MySQL服务是否正常启动,确保数据完整性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:16:16