使用 EC2Config 或 EC2Launch 重置管理员密码时,如何为我的 EC2 Windows 实例替换丢失的密钥对?
上次更新时间:2020 年 11 月 18 日
我正在尝试使用 EC2Config 或 EC2Launch 重置丢失的密码,但我丢失了用于启动我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例的密钥对的私钥文件。我该如何在 EC2 Windows 实例上替换或更改密钥对?
简短描述
要替换丢失的密钥对,您可以使用 AWS Systems Manager AWSSupport-ResetAccess 自动化文档。或者,您可以创建现有实例的 Amazon 系统映像 (AMI),启动新实例,然后选择新密钥对。
解决方法
使用 AWSSupport-ResetAccess 自动化文档
您可以使用 Systems Manager AWSSupport-ResetAccess 自动化文档来替换丢失的密钥对,或替换丢失的本地管理员密码。有关说明,请参阅演练:在 EC2 实例上重置密码和 SSH 密钥。
创建 AMI 并启动新实例
当您使用 EC2Config 或 EC2Launch 重置丢失的密码时,您必须使用其密钥对找回管理员密码。如果您丢失了密钥对,您可以创建现有实例的 AMI,然后启动新的实例。然后,您可以按照实例启动向导的提示选择新的密钥对。请遵循以下步骤:
注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您运行的是最新版本的 AWS CLI。
- 创建一个新的密钥对,然后将私钥文件保存在安全的位置。您可以使用控制台、AWS CLI 或 AWS Tools for Windows PowerShell 创建密钥对。
注意:要为新密钥赋予一个与丢失的密钥对相同的名称,则必须首先删除丢失的密钥对。 - 从 Amazon EC2 控制台的导航窗格中,选择 Instances(实例)。
- 选择您的实例。在 Description(描述)选项卡中,记下该实例的 Instance type(实例类型)、VPC ID、Subnet ID(子网 ID)、Security groups(安全组)和 IAM role(IAM 角色)。
- 停止您的实例。 警告:如果此实例具有实例存储卷,当实例停止时,实例上的任何数据都将丢失。如果 instance shutdown behavior(实例关闭行为)设置为 Terminate(终止),则实例停止时将会终止。
- 选择您的实例。对于 Actions(操作),依次选择 Image(映像)、Create Image(创建映像)。
对于映像名称,请输入一个名称。
(可选)对于 Image description(映像描述),请输入描述。 - 选择 Create Image(创建映像),然后选择 Close(关闭)。
- 从导航窗格中选择 AMI。如果 Status(状态)为 pending(待处理),则说明 AMI 仍在创建中。如果 Status(状态)为 available(可用),则继续执行下一步。
- 选中此 AMI,然后选择 Launch(启动)。
- 完成向导。请务必确保选择的 Instance type(实例类型)、VPC ID、Subnet ID(子网 ID)、Security groups(安全组)和 IAM role(IAM 角色)与要替换的实例相同。
对于 Select a key pair(选择密钥对),请选择新的密钥对。 - (可选)如果原实例具有关联的弹性 IP 地址,则将该弹性 IP 地址重新关联到新实例。
- (可选)如果在 AMI 创建期间未捕获任何 Amazon Elastic Block Store (Amazon EBS) 卷,则分离该卷,然后将该卷挂载到新实例上。
注意:当您分离卷时,可以跳过卸载卷的步骤,因为原实例已处于停止状态。 - 现在已替换了私钥文件,您可以重置管理员密码。对于 Windows Server 2012 R2 和更低版本,使用 EC2Config。对于 Windows Server 2016 和更高版本,使用 EC2Launch。
- (可选)要进行清理,您可以终止丢失了密钥对的已停止实例。