通过临时云服务器挂载系统盘方式重置Linux ECS密码
操作场景
如果在创建弹性云服务器时未设置密码、密码丢失或密码过期,则需要通过重置密码方式获取新密码。
通常情况,请参考在控制台重置云服务器密码,通过控制台的“重置密码”功能为弹性云服务器重置密码。
如果无法通过控制台重置密码或重置后的密码不生效,可能是由于弹性云服务器缺失一键式重置密码插件、未开通并授权COC或未安装UniAgent,此时,您可以参考本节内容重新设置密码。
本节操作重置的是root用户的密码,您可以重置完root密码后登录云服务器后再更换密钥或重置非root用户的密码。
Windows操作系统请参见通过临时云服务器挂载系统盘方式重置Windows ECS密码。
约束与限制
- 本操需要卸载系统盘,为了避免造成系统盘数据丢失,建议您在操作前先备份系统盘或制作系统盘快照。
- 本操作依赖changepasswd.sh脚本,仅支持使用公共镜像创建的弹性云服务器。
对于使用私有镜像或其他非公共镜像创建的弹性云服务器,建议参考在ECS操作系统内部重置密码。
前提条件
操作流程

操作步骤
- 下载重置密码的脚本,并上传至临时弹性云服务器。
单击重置密码脚本下载并解压缩,在本地通过WinSCP等连接工具,将获取的changepasswd.sh脚本上传到临时云服务器。
WinSCP下载地址:https://winscp.net/。
- 关闭原弹性云服务器,卸载其系统盘,并将系统盘挂载到临时弹性云服务器。
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 单击“
”,选择“计算 > 弹性云服务器”。
- 原弹性云服务器关机,单击云服务器名称进入详情页,并选择“云硬盘”页签。
原弹性云服务器关机时,请勿执行强制关机操作,否则可能引起重置密码操作失败。
- 单击系统盘所在行的“卸载”,卸载该系统盘。
- 将系统盘挂载到临时弹性云服务器上。
- 展开临时弹性云服务器的详情页,并选择“云硬盘”页签。
- 单击“挂载磁盘”,在“挂载磁盘”对话框中,选择2.e中卸载的系统盘,将其挂载到临时弹性云服务器上。
- 远程登录临时弹性云服务器,并重置密码。
- 在临时弹性云服务器的“操作”列下,单击“远程登录”。
- 执行以下命令,查看原弹性云服务器上卸载的系统盘在临时弹性云服务器上的目录。
fdisk -l
图2 查询系统盘所在目录 - 在changepasswd.sh脚本所在目录执行以下命令,运行重置密码脚本。
chmod +x changepasswd.sh
./changepasswd.sh
运行重置密码脚本时,如果系统提示没有lv相关的命令(如no lvs commmand),则需要在临时弹性云服务器安装lvm(Logical Volume Manager)工具,推荐使用lvm2,您可以执行命令yum install lvm2进行安装。
如果原弹性云服务器和临时弹性云服务器的操作系统均为centos7,运行脚本过程中可能会出现挂载失败。请将脚本中的内容“mount $dev $mountPath”修改为“mount -o nouuid $dev $mountPath”,避免脚本运行失败。
- 根据系统提示输入新设置的密码和4.b中获取到的目录信息。
系统显示如下回显信息时,说明密码设置成功。
set password success.
- (可选)如果是非root用户,请执行如下操作打开root登录权限。
修改如下配置项:
- 关闭临时弹性云服务器,卸载原弹性云服务器的系统盘,并将其重新挂载回原弹性云服务器后执行重启操作。
- 重启原弹性云服务器。