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

丢失PEM密钥后,不停止运行中的EC2实例能否重新获取访问权限?

无需停止EC2实例恢复访问的可行方法

以下是几种不用停止实例就能重新获取访问权限的方案,按可行性优先级排序:

1. 使用AWS Systems Manager Session Manager连接

这是最推荐的无密钥访问方式,只要你的实例满足以下前提:

  • 实例使用Amazon Linux 2、Amazon Linux AMI 2017.09.0及以上版本(这类系统默认预装SSM Agent);若为其他Linux发行版/Windows,需之前已手动安装过SSM Agent
  • 实例关联的IAM角色包含AmazonSSMManagedInstanceCore权限策略
  • 实例安全组允许**出站HTTPS(443端口)**访问AWS服务(或配置了SSM的VPC端点)

操作步骤:

  • 打开AWS控制台,进入Systems Manager > Session Manager
  • 点击「Start session」,在实例列表中选择目标EC2实例,点击「Start session」
  • 进入会话后,切换到目标用户(如ec2-user或ubuntu),编辑~/.ssh/authorized_keys文件,添加新生成的SSH公钥内容
  • 保存后即可用新的.pem密钥通过SSH连接实例

2. 利用EC2串行控制台(有限适用)

仅适用于支持串行控制台的实例类型(大部分现代实例类型均支持),且满足:

  • 实例所在AWS区域已启用EC2串行控制台功能
  • 你的IAM账号拥有EC2SerialConsoleAccess权限
  • 你知晓实例系统的用户密码(Linux默认无root密码的话,此方法无法直接使用)

操作步骤:

  • 进入EC2控制台,选中目标实例,点击「连接」,选择「Serial console」标签页
  • 点击「Connect」,在弹出的串行终端中输入系统用户名和密码登录
  • 登录后可直接修改~/.ssh/authorized_keys添加新公钥,或给用户设置密码后用密码登录SSH

3. 通过现有其他访问方式(如果存在)

如果你的实例之前配置过其他远程访问途径:

  • Windows实例若开启了RDP且有其他可登录的本地/域账号,可通过RDP登录后修改SSH密钥
  • Linux实例若存在其他拥有sudo权限的用户,且你知晓该用户的登录方式(密码或其他密钥),可先登录该用户,再切换到目标用户添加新公钥

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:24:56