Windows EC2 Instance 忘记密码如何重置

这个问题搞了我2天时间,所以要好好记录一下。对于Windows Server 2012之前和Server 2016之后的处理方式是不一样的,我在误打误撞中,用了2012的方法解决了2016的问题, 因为我不知道忘记密码的EC2是2016版本。
而且Windows的这类问题(忘记key pair和密码)的处理方式比Linux的要复杂。

  1. 关闭该instance, 这个instance tag标记为original-instance

  1. 到Volume处找到该instance的volume,然后Detach

  1. 删除旧Key

  1. 创建一个新的EC2 Instance,tag标记为new-instance
  2. 新Instance要跟有问题的在同一个区域,例如us-east-1a,不然无法加载volume

  1. Launch,然后弄一个跟之前(已经丢失忘记的key)一样的key名字,并下载保存key

以下这步很关键,之前的尝试我都弄错了

  1. 把忘记密码的instance创建Image

  1. 然后在IMAGES -- > AMI中查看进度,需要几分钟时间,完成后点Launch,这个步骤跟新建instance类似,为跟那个新建的instance区分开来,我们把这个instance命名为 image-instance

  1. 创建好后关闭此Instance,然后把image-instance的volume挂载到new-instance上

  1. 登入new-instance,并下载工具:https://s3.amazonaws.com/ec2rescue/windows/EC2Rescue_latest.zip (这个工具仅适用于2016及其后版本的 Windows Server)

另外我之前看文档说可以通过修改Ec2Config service来实现密码修改,后来摸索后才发现这在2012及之前的版本才可以,而我的忘记密码的服务器是2016版本,这也是我奇怪之前没有在路径下看到C:\Program Files\Amazon\Ec2ConfigService这个文件夹了,所以我从2012上copy了一个到这个路径,同时修改了config.xml文件,把EC2Password改为Enabled,不知道跟这个有没关系,权且记录在案。

  1. 然后把这个volume在new-instance上offline,并从Volume上Deattach掉,然后重新挂回image-instance,注意要把Device设为 /dev/sda1,这样才是C盘

  1. 获取image-instance的密码

  1. 导入保存的key文件获取密码,(刚开始的时候是失败的,提示无法获取密码,验证不对,在此我又纠结了几个小时,在这个3个instance之前互相切换挂载,后来就可以获得密码了,不知哪里弄对了)

  1. 然后再关闭这个image-instance, 把这个volume挂载回orignal-instance为C盘,启动,这样就用新的key获取新的密码

参考文档
适用于server 2012及其前版本:https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ResettingAdminPassword_EC2Config.html

适用于server 2016及其后版本:https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ResettingAdminPassword_EC2Launch.html

这个提到要完全按照步骤来,我也是受这个启发,重新看文档才发现我没有launch image,而是搞了launch new instance,这点很关键。https://stackoverflow.com/questions/50686939/resetting-administrator-password-for-aws-ec2-windows-server-2012-instance

后来收到AWS Support发来的邮件支持信息,不过我的问题已经自己解决,所以没有使用他们的方法,记录如下:
对于server 2016

  1. In the Amazon IAM Console (https://console.aws.amazon.com/iam/), in the navigation pane, choose Roles, Create new role.
  2. Choose Amazon EC2 Role for Simple Systems Manager, and then choose Select.
  3. Under Policy Name, check AmazonEC2RoleforSSM, Next Step, enter a Role name that is meaningful to you and choose Create Role.
  4. Open the Amazon EC2 console, https://console.aws.amazon.com/ec2/ and choose the appropriate region.
  5. Select the affected instance, choose Actions, Instance Settings, Attach/Replace IAM role. This would attach the IAM role you just created to your instance.
  6. From EC2 console select, "Run Command" and "Run a command" option.
  7. Select "AWS-RunPowershellScript" from Command document
  8. In Select Targets, Select the instance you want to reset password for. Should the instance not be populated in the list, please wait for some time so that the changes can be propagated.
  9. Under Commands, run the following command while replacing "new_password" with your password.

    net user Administrator new_password

  10. Click Run in the lower right, leaving all the settings at default.

Following the successful completion of the run command, you should now be able to log in with that local administrator password you just keyed in under step 9. Once you‘ve regained access to the instance, change the password to a more permanent value by running the command from step 9 again in command prompt of the instance.

Another procedure you can follow to reset the password on the instance is to use the AWSSupport-ResetAccess Automation document from the Systems Manager console. This document is useful if you have lost your EC2 key pair and want to create a password-enabled AMI from your EC2 instance, so you can launch a new instance with an existing key pair. To perform this, you can follow the steps given on the link under the section headed "Systems Manager Automation AWSSupport-ResetAccess (Offline Method)":

[+] https://aws.amazon.com/premiumsupport/knowledge-center/reset-admin-password/

原文地址:https://blog.51cto.com/helpdesk/2372467

时间: 2024-10-19 18:04:08

Windows EC2 Instance 忘记密码如何重置的相关文章

windows主机mysql忘记密码如何重置

本文主要是针对mysql重置密码过程中出现“mysqld不是内部命令或外部命令”的问题而写的.网上有很多关于mysql忘记密码了如何找回的文章,但是很多说的都不够详细,特别是还要用到DOS命令,可能这对于很大一部分刚接触这方面的朋友来说还是个难题.本文针对网上教程中有难点和疑惑的步骤进行再次剖析,如果能让你少走一步弯路,那我的目的也就达到了.下面是网上流传最多的方法,原作者无从知晓,这里表示感谢. 关闭正在运行的MySQL. 打开DOS窗口,转到mysqlbin目录. 输入mysqld --sk

windows下MySQL忘记密码怎么重置

在忘记root密码的时候,可以这样 1. 关闭正在运行的MySQL服务. 2. 打开DOS窗口,转到mysql\bin目录. 3. 输入mysqld --skip-grant-tables 回车.--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证. 4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录. 5. 输入mysql回车,如果成功,将出现MySQL提示符 >. 6. 连接权限数据库: use mysql; . 6.

mysql忘记密码,如何重置密码

方法,教你两招重置root密码! 1.使用mysqladmin修改mysql密码 C:\>mysqladmin -udbuser -p password newpass Enter password: oldpass 当然用此命令的前提是你把mysql加入了环境变量,如果没有加入环境变量的话那只能在命令行下cd到mysqladmin所在的 目录下与此那个次命令了! 2.重置root密码 方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,

linux系统root用户忘记密码的重置方法

如何重置CentOS 7的root密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1.在启动grub菜单,选择编辑选项启动: 2.按键盘e键,来进入编辑界面: 3.找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4.现在按下 Control+x ,使用单用户模式启动: 5.现在,可以使用下面的命令访问系统: chroot   /sysroot 6.重置密码:(根据提示输入) passwd  root

CentOS 7系统root用户忘记密码的重置方法

CentOS 7 的密码重置方法 进入到下面箭头指向的按"e" 跳入到下面的界面把"ro"删了改成"rw init=/sysroot/bin/sh" 按下面的命令进行操作 然后重启系统当下面箭头指向的位置加载到100%就说明密码修改成功了 . 然后用新密码登陆

CentOS 7 系统root用户忘记密码的重置方法

在一台服务器我们忘记了root的账号或者root账号错误怎么办,我们只有进入到内核里面去修改,具体的操作如下: 1.进入内核 在开机的时候出现下图的界面时 按e键进入内核入下图 2.进入单用户模式 在LANG=en_US.UFT-8后面添加init=/bin/sh 如下图所示 然后ctrl+x进入到单人用户模式如下图 3.修改密码 先输入mount -o remount,rw / 如图 然后输入passwd 输入两次新密码如图(我这有点乱码问题) 然后在输入touch / .autorelabe

Windows下mysql忘记密码的解决方法

mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录.一般在bin目录里面创建一个批处理1.bat,内容是cmd.exe运行一下即可就切换到当前目录,然后输入 mysqld-nt --skip-grant-tables; 3.再开一个DOS窗口 mysql -u root 4.输入: use mysq

Oracle忘记密码如何重置

昨天安装Oracle11g R2的时候给scott用户设置密码,当时没有显示而且还只以输入一次,可能密码输入错误,结果今天用scott用户登录果然密码不对,还好sys和system用户都正常,就进去给重置了 SQL>alter user scott identified by password;       //password是自己要设置的密码,最好以字母开头 但是如果sys和system密码忘怎么办呢,也可以进行修改 方法如下: 打开运行,输入 sqlplus /nolog 打开了Oracl

Mac brew安装MySQL8.0.18后忘记密码(重置密码篇)

前要:MySQL8后密码要求很高,要有大小写字母和数字特殊字符,导致自己忘记以前配置的密码 一.跳过mysql的密码认证,修改配置文件my.cnf $ ls /usr/local/etc/my.cnf /usr/local/etc/my.cnf # 修改配置文件, 添加 skip-grant-tables $ cat /usr/local/etc/my.cnf # Default Homebrew MySQL server config [mysqld] # Only allow connect