
# 使用Linux私有镜像创建/切换Flexus L实例后，无法重置密码怎么办？（遗忘私有镜像初始密码）
#### 问题现象
使用Linux私有镜像创建/切换服务器后，无法通过重置密码登录Flexus应用服务器L实例。Linux私有镜像的镜像源来自其他云平台的服务器或从第三方下载，通过此类私有镜像创建的Flexus应用服务器L实例可能因为未安装一键式密码重置插件而无法重置密码。
- 如果您知晓您的私有镜像服务器密码，请参考[使用Linux私有镜像创建/切换Flexus L实例后，无法重置密码怎么办？（已知私有镜像初始密码）](https://support.huaweicloud.com/flexusl_faq/faq_passwd_0003.html)安装插件。
- 如果您遗忘了您的私有镜像服务器密码，请参见本节内容为私有镜像安装一键式密码重置插件，并为Flexus应用服务器L实例设置密码。
本节操作重置的是root用户的密码，您可以重置完root密码后登录云服务器后再重置非root用户的密码。
#### 前提条件
- 使用待安装密码插件的私有镜像创建一台Linux操作系统的临时弹性云服务器A。
- 准备一台Linux操作系统的临时弹性云服务器B，且该临时弹性云服务器与弹性云服务器A位于同一个可用区。
  ![](https://support.huaweicloud.com/flexusl_faq/public_sys-resources/note_3.0-zh-cn.png)
  - 请确保临时弹性服务器A/B和待安装一键式重置密码插件的Flexus应用服务器L实例均属于同一个区域。
  
  - 您可以选择符合要求的已有弹性云服务器作为临时，也可以重新购买一台临时弹性云服务器。
  
  - 重新购买的弹性云服务器在重置密码后，请及时释放，以免继续收费。
    
- 弹性云服务器B已经绑定弹性公网IP。
 
#### 操作流程
图1重置密码操作流程   
![](https://support.huaweicloud.com/flexusl_faq/zh-cn_image_0000001988862493.png)
#### 操作步骤
1. 下载重置密码的脚本，并上传至临时弹性云服务器B。 单击[下载重置密码脚本](https://cn-south-1-cloud-reset-pwd.obs.cn-south-1.myhuaweicloud.com/util/changepasswd.zip)，在本地通过WinSCP等连接工具，将获取的changepasswd.sh脚本上传到临时云服务器B。
   WinSCP工具下载地址：<https://winscp.net/>。
   
2. 修改重置密码脚本，注释164行，放开165到173行。 ![](https://support.huaweicloud.com/flexusl_faq/zh-cn_image_0000001953983280.png "点击放大")
   
3. 将临时弹性云服务器A关机，卸载其系统盘，并将系统盘挂载到临时弹性云服务器B。
   1. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)。
   
   2. 将临时弹性云服务器A关机，并单击云服务器名称进入详情页，选择"云硬盘"页签。
      ![](https://support.huaweicloud.com/flexusl_faq/public_sys-resources/note_3.0-zh-cn.png)
      原弹性云服务器关机时，请勿执行强制关机操作，否则可能引起重置密码操作失败。
      
   
   3. 单击系统盘所在行的"卸载"，卸载该系统盘。
    
4. 将系统盘挂载到临时弹性云服务器B上。
   1. 展开临时弹性云服务器B的详情页，并选择"云硬盘"页签。
   
   2. 单击"挂载磁盘"，在"挂载磁盘"对话框中，选择[3.f]中卸载的系统盘，将其挂载到临时弹性云服务器B上。
    
5. 远程登录临时弹性云服务器B，并重置密码。
   1. 在临时弹性云服务器B的"操作"列下，单击"远程登录"。
   
   2. 执行以下命令，查看临时弹性云服务器A上卸载的系统盘在临时弹性云服务器B上的目录。
      **fdisk -l**
      图2查询系统盘所在目录   
      ![](https://support.huaweicloud.com/flexusl_faq/zh-cn_image_0000001988702677.png "点击放大") 
   
   3. 在**changepasswd.sh** 脚本所在目录执行以下命令，运行重置密码脚本。
      **chmod +x changepasswd.sh**
      **./changepasswd.sh**
      运行重置密码脚本时，如果系统提示没有lv相关的命令（如no lvs command），则需要在临时弹性云服务器B安装lvm(Logical Volume Manager)工具，推荐使用lvm2，您可以执行命令**yum install lvm2**进行安装。
      ![](https://support.huaweicloud.com/flexusl_faq/public_sys-resources/note_3.0-zh-cn.png)
      如果临时弹性云服务器A和临时弹性云服务器B的操作系统均为centos7，运行脚本过程中可能会出现挂载失败。请将脚本中的内容"mount $dev $mountPath"修改为"mount -o nouuid $dev $mountPath"，避免脚本运行失败。
      
   
   4. 根据系统提示输入新设置的密码和[5.b]中获取到的目录信息。
      系统显示如下回显信息时，说明密码设置成功。
      ```
      set password success.
      ```
      
    
6. （可选）如果是非root用户，请执行如下操作打开root登录权限。 **vi /etc/ssh/sshd_config**
   修改如下配置项：
   - 把PasswordAuthentication no 改为 PasswordAuthentication yes 或去掉PasswordAuthentication yes 前面的#注释掉。
     
   
   - 把PermitRootLogin no 改为 PermitRootLogin yes 或去掉PermitRootLogin yes 前面的#注释掉。
     
   
   - 修改AllowUsers的值为root 在文件中查找AllowUsers，如果没有请在文件末尾补充AllowUsers root。
     
    
7. 将临时弹性云服务器B关闭，卸载系统盘，并将其重新挂载回原弹性云服务器A后执行重启操作。
   1. 将临时弹性云服务器B关机，并进入详情页，选择"云硬盘"页签。
   
   2. 单击"卸载"，卸载之前[3]中临时挂载的系统盘。
   
   3. 展开临时Linux弹性云服务器A的详情页，选择"云硬盘"页签。
   
   4. 单击"挂载磁盘"，在"挂载磁盘"对话框中，选择[7.b]中卸载的系统盘。
    
8. 在临时弹性云服务器A中安装一键式重置密码插件，具体操作详见[安装一键式重置密码插件](https://support.huaweicloud.com/flexusl_faq/faq_passwd_0003.html#faq_passwd_0003__section8982028172511)。
9. 重启临时弹性云服务器A。
10. 创建临时弹性云服务器A的系统盘镜像。具体操作详见[创建系统盘镜像](https://support.huaweicloud.com/usermanual-ims/ims_01_0201.html)。
11. 使用将Flexus应用服务器L实例切换到此系统盘系镜像。具体操作详见[切换操作系统](https://support.huaweicloud.com/usermanual-flexusl/instance_os_0003.html)。
    完成以上操作后，即可为Flexus应用服务器L实例设置密码。具体操作详见[重置Flexus L实例密码](https://support.huaweicloud.com/usermanual-flexusl/instance_admin_0002.html)。
    
 
