文档首页/ 华为云Flexus云服务_Flexus应用服务器L实例/ 常见问题/ 密码/ 使用Linux私有镜像创建/切换Flexus L实例后,无法重置密码怎么办?(遗忘私有镜像初始密码)
更新时间:2024-09-12 GMT+08:00

使用Linux私有镜像创建/切换Flexus L实例后,无法重置密码怎么办?(遗忘私有镜像初始密码)

问题现象

使用Linux私有镜像创建/切换服务器后,无法通过重置密码登录Flexus应用服务器L实例。Linux私有镜像的镜像源来自其他云平台的服务器或从第三方下载,通过此类私有镜像创建的Flexus应用服务器L实例可能因为未安装一键式密码重置插件而无法重置密码。

本节操作重置的是root用户的密码,您可以重置完root密码后登录云服务器后再更换密钥或重置非root用户的密码。

前提条件

  • 使用待安装密码插件的私有镜像创建一台Linux操作系统的临时弹性云服务器A。
  • 准备一台Linux操作系统的临时弹性云服务器B,且该临时弹性云服务器弹性云服务器A位于同一个可用区。
    • 请确保临时弹性服务器A/B和待安装一键式重置密码插件的Flexus应用服务器L实例均属于同一个区域。
    • 您可以选择符合要求的已有弹性云服务器作为临时,也可以重新购买一台临时弹性云服务器。
    • 重新购买的弹性云服务器在重置密码后,请及时释放,以免继续收费。
  • 弹性云服务器B已经绑定弹性公网IP

操作流程

图1 重置密码操作流程

操作步骤

  1. 下载重置密码的脚本,并上传至临时弹性云服务器B。

    单击下载重置密码脚本,在本地通过WinSCP等连接工具,将获取的changepasswd.sh脚本上传到临时云服务器B。

    WinSCP工具下载地址:https://winscp.net/

  2. 修改重置密码脚本,注释164行,放开165到173行。

  3. 将临时弹性云服务器A关机,卸载其系统盘,并将系统盘挂载到临时弹性云服务器B。
    1. 登录管理控制台。
    2. 单击管理控制台左上角的,选择区域和项目。
    3. 单击“”,选择“计算 > 弹性云服务器”。
    4. 将临时弹性云服务器A关机,并单击云服务器名称进入详情页,选择“云硬盘”页签。

      弹性云服务器关机时,请勿执行强制关机操作,否则可能引起重置密码操作失败。

    5. 单击系统盘所在行的“卸载”,卸载该系统盘。
  4. 将系统盘挂载到临时弹性云服务器B上。
    1. 展开临时弹性云服务器B的详情页,并选择“云硬盘”页签。
    2. 单击“挂载磁盘”,在“挂载磁盘”对话框中,选择3.f中卸载的系统盘,将其挂载到临时弹性云服务器B上。
  5. 远程登录临时弹性云服务器B,并重置密码。
    1. 在临时弹性云服务器B的“操作”列下,单击“远程登录”。
    2. 执行以下命令,查看临时弹性云服务器A上卸载的系统盘在临时弹性云服务器B上的目录。

      fdisk -l

      图2 查询系统盘所在目录
    3. changepasswd.sh脚本所在目录执行以下命令,运行重置密码脚本。

      chmod +x changepasswd.sh

      ./changepasswd.sh

      运行重置密码脚本时,如果系统提示没有lv相关的命令(如no lvs commmand),则需要在临时弹性云服务器B安装lvm(Logical Volume Manager)工具,推荐使用lvm2,您可以执行命令yum install lvm2进行安装。

      如果临时弹性云服务器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中安装一键式重置密码插件,具体操作详见安装一键式重置密码插件
  9. 重启临时弹性云服务器A。
  10. 创建临时弹性云服务器A的系统盘镜像。具体操作详见创建系统盘镜像
  11. 使用将Flexus应用服务器L实例切换到此系统盘系镜像。具体操作详见切换操作系统

    完成以上操作后,即可为Flexus应用服务器L实例设置密码。具体操作详见重置Flexus L实例密码