Linux服务器改密码忘记了怎么办?结论很直接:只要还能进云控制台、VNC、IPMI或GRUB菜单,就能重置root密码;只有SSH且没有sudo、没有密钥、没有控制台权限时,才需要找服务商或IDC协助。
先判断:Linux服务器密码忘记后你手里还有哪些入口?
密码忘记本身不是灾难,真正决定恢复方式的是你还能不能碰到服务器控制台,很多人一上来就反复试SSH,结果把账户锁死,反而增加排查难度。
远程SSH进不去时,控制台和救援模式才是关键
先按下面顺序确认资源:
- 云服务器:简米云、酷番云、华为云、AWS、Azure等控制台,通常有“重置密码”“VNC登录”“救援模式”。
- 物理机:机房是否有IPMI、iDRAC、iLO、KVM over IP。
- 本地虚拟机:VMware、KVM、VirtualBox可直接改GRUB。
- 宝塔面板:如果面板还能登录,可在“用户管理”里改root密码;但面板依赖SSH服务正常。
- 其他sudo用户:如果有普通用户能sudo,直接登录后执行
sudo passwd root。 - SSH密钥:如果密钥还能登录,同样可以进系统改密码。
| 入口 | 能否重置密码 | 适用场景 |
|---|---|---|
| 云控制台重置 | 通常可以 | 云助手在线、镜像支持 |
| VNC/控制台 | 可以 | 云助手离线、系统能启动 |
| GRUB单用户 | 可以 | 物理机、VNC、本地虚拟机 |
| 救援模式挂盘 | 可以 | 系统起不来、云助手不可用 |
| 仅SSH且无sudo | 不可以 | 需要服务商或IDC介入 |
云服务器Linux密码忘记如何修改?控制台重置与救援模式两条路
云服务器最常见,先别急着重装,重装会丢数据,多数情况下,控制台重置或救援模式就能解决。
控制台一键重置密码:适合简米云、酷番云、华为云等
操作路径大同小异:
- 登录云厂商控制台,进入“云服务器ECS”或“实例”。
- 找到目标实例,确认实例状态,部分平台要求运行中且云助手在线。
- 点击“更多”或“运维与诊断”,选择“重置密码”。
- 输入新密码,确认强制重启,部分平台需重启后生效。
- 用
ssh root@服务器IP测试登录。
如果提示“云助手离线”或“实例不支持”,说明一键重置走不通,此时改用VNC登录,或者进入救援模式。
救援模式挂载系统盘改密码:云助手不可用时的兜底
救援模式的核心是:把原系统盘挂到一台临时Linux实例上,修改/etc/shadow
,再挂回去,操作前先创建快照。
- 停止原实例,注意是“停止”,不是“释放”。
- 在云控制台创建一台临时Linux实例,系统版本接近原系统。
- 将原实例系统盘挂载到临时实例,通常显示为
/dev/vdb或/dev/vdc。 - 登录临时实例,执行
lsblk确认盘符。 - 挂载原盘:
mkdir /mnt/rescue mount /dev/vdb1 /mnt/rescue
如果原盘是LVM:
vgscan vgchange -ay ls /dev/mapper/ mount /dev/卷组名/root /mnt/rescue
- 进入原系统环境:
mount --bind /dev /mnt/rescue/dev mount --bind /proc /mnt/rescue/proc mount --bind /sys /mnt/rescue/sys chroot /mnt/rescue
- 修改密码:
passwd root
- 如果系统启用了SELinux,执行:
touch /.autorelabel
- 退出并卸载:
exit umount /mnt/rescue/dev umount /mnt/rescue/proc umount /mnt/rescue/sys umount /mnt/rescue
- 在原实例控制台卸载系统盘,重新挂回原实例,启动后用新密码登录。
云服务器Linux密码忘记如何修改时先备份快照
业内专家指出,云环境里最贵的往往不是服务器,而是数据,挂载、chroot、改密码本身风险不高,但盘符认错、LVM识别错误、误写fstab都可能导致启动失败,创建快照能让你随时回滚,成本通常低于数据恢复。
CentOS和Ubuntu忘记密码重置方法有什么区别?
两者底层都靠passwd改密码,区别在进入修复环境的方式,下面按常见版本说明。
CentOS 7/8/9 进入单用户或rd.break
以CentOS 7/8为例:
- 重启服务器,在GRUB菜单按
e编辑启动项。 - 找到以
linux16或linux开头的行。 - 在行尾加入:
rd.break
或者:
rw init=/sysroot/bin/sh
- 按
Ctrl+X启动。 - 如果使用
rd.break:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
- 如果使用
init=/sysroot/bin/sh:
chroot /sysroot passwd root touch /.autorelabel exit reboot
CentOS 9与RHEL 9类似,但GRUB界面和内核参数可能略有差异,核心仍是进入紧急shell后chroot改密码。
Ubuntu 20.04/22.04/24.04 用恢复模式或init=/bin/bash
Ubuntu更常用恢复模式:
- 重启,按住
Shift或
Esc进入GRUB。 - 选择“Advanced options for Ubuntu”,再选“Recovery mode”。
- 选择“root Drop to root shell prompt”。
- 如果文件系统只读,执行:
mount -o remount,rw /
- 改密码:
passwd root
- 如果root被禁用,还要检查:
grep root /etc/shadow
- 退出并重启:
exitreboot
也可以在GRUB编辑内核行,把ro quiet splash改成rw init=/bin/bash,启动后直接passwd root。
共同点:passwd、SELinux、autorelabel
- 改密码命令都是
passwd 用户名。 - CentOS/RHEL启用SELinux时,必须
touch /.autorelabel,否则可能登录失败。 - Ubuntu的AppArmor通常不需要重新打标签。
- 如果系统盘加密,单用户模式可能要求先输入LUKS密码。
| 项目 | CentOS/RHEL | Ubuntu |
|---|---|---|
| 常用入口 | rd.break、init=/bin/bash | Recovery mode、init=/bin/bash |
| 改密码 | passwd root |
passwd root |
| 重打标签 | touch /.autorelabel |
通常不需要 |
| 只读处理 | mount -o remount,rw /sysroot |
mount -o remount,rw / |
没有救援模式怎么重置Linux服务器密码?物理机与IDC场景实操
如果没有云控制台、没有救援模式,但有机房IPMI或VNC,仍然可以走GRUB单用户模式,行业共识认为,物理机的密码恢复能力取决于带外管理是否可用。
通过IPMI/iDRAC/云VNC进入GRUB
- 登录IPMI、iDRAC、iLO或KVM over IP。
- 挂载虚拟ISO或直接重启进入GRUB。
- 按
e编辑内核启动参数。 - 在
linux行尾加single、init=/bin/bash或rd.break。 - 启动后按前面CentOS或Ubuntu步骤改密码。
修改密码与SELinux重打标签
进入shell后确认:
whoami id mount | grep ' / '
改密码:
passwd root
如果提示passwd: Authentication token manipulation error,多半是文件系统只读,执行:
mount -o remount,rw /
再改一次,CentOS系统别忘了touch /.autorelabel。
无法进入GRUB怎么办
如果GRUB被密码保护、系统盘加密、文件系统损坏,单用户模式就进不去,可选方案:
- 用Live CD或Live USB启动,挂载原盘后chroot改密码。
- 将磁盘拆下挂到另一台Linux机器,按救援模式步骤处理。
- 加密盘需要LUKS密码或恢复密钥,没有密钥基本无法绕过。
- 最后才考虑重装系统,并优先迁移数据。
Linux服务器密码重置要收费吗?价格与风险
云平台、IDC、第三方运维的费用差异
基础控制台重置密码,多数云平台不额外收费,可能产生费用的环节包括:
- 快照存储:按容量和时长计费。
- 临时救援实例:按实例规格和运行时长计费。
- 公网IP、带宽:按云厂商规则计费。
- 人工上门:北京、上海等一线城市和偏远地区价格差异明显,通常高于远程处理。
- 第三方运维:按次、按年或按工单收费,具体看服务商。
据工信部近年云计算相关政策文件,云服务控制台普遍需要提供实例管理、密码重置等基础能力,对普通用户来说,先查云厂商文档,通常比直接找人工更省事。
重置后仍登录失败怎么排查
- 用户名错:Ubuntu默认可能禁用root,需用普通用户sudo。
- SSH配置限制:检查
/etc/ssh/sshd_config里的PermitRootLogin。 - 密码过期:
chage -l root查看。 - SELinux未重打标签:CentOS常见。
- 安全组或防火墙:检查22端口是否放行。
- PAM异常:查看
/var/log/secure或/var/log/auth.log。 - 系统盘满:
df -h确认。
改密码常用命令清单
passwd 用户名:交互式修改。echo 'root:新密码' | chpasswd:批量或脚本修改。passwd -e 用户名:强制下次登录改密码。usermod -L 用户名:锁定账户。usermod -U 用户名:解锁账户。chage -l 用户名:查看密码有效期。
Linux服务器改密码忘记相关Q&A
Linux服务器root密码忘记后还能SSH登录吗?
如果有SSH密钥或另一个可sudo用户,可以登录后执行sudo passwd root,如果只有root密码且SSH关闭了密钥登录,则无法直接SSH,必须走控制台、VNC或救援模式。
Linux服务器改密码忘记需要重装系统吗?
多数不需要,云服务器可用控制台重置、VNC单用户、救援模式挂盘;物理机可用IPMI加GRUB,只有系统盘加密且无恢复密钥、文件系统严重损坏、控制台完全不可用时,才考虑重装。
Linux服务器密码重置要收费吗?
云平台基础控制台重置密码通常不收费,快照存储、临时救援实例、人工上门和第三方运维按服务商标准计费。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/763814.html





