Linux服务器登录密码忘记后,先别急着重装,只要你对服务器有控制台、救援模式或云平台管理权限,就能在不清空数据的前提下重置密码。 云服务器优先走控制台重置,本地机房优先走单用户模式或救援模式,关键操作前先做快照或备份。
先判断服务器类型,再决定重置路径
国内云服务器Linux密码忘记怎么找回
如果你用的是简米云、酷番云、华为云、AWS中国区等国内云服务器,最常见也最省事的办法是走控制台。
- 登录云厂商控制台,找到对应实例。
- 在实例操作菜单中寻找“重置密码”“修改密码”或“密码/密钥”入口。
- 设置新密码,按提示重启实例。
- 如果实例支持VNC,可以直接通过VNC登录,再用
passwd修改。 - 如果SSH密钥仍然可用,直接
ssh user@ip登录,然后执行sudo passwd root或sudo passwd 用户名。
据各云厂商官方文档,控制台重置密码多数情况下需要重启实例,它不会主动清空数据盘,但会更新系统内的/etc/shadow,如果服务器正在跑生产业务,先确认重启窗口,别影响线上服务。
本地机房Linux服务器忘记密码进不去系统怎么解决
本地机房服务器没有云控制台,但通常有物理接触或带外管理卡。
- 到机房接显示器键盘,直接操作。
- 通过IPMI、iDRAC、iLO、KVM over IP等远程管理卡挂载ISO或进入BIOS。
- 重启服务器,在BIOS自检后、系统启动前按Esc、Shift或方向键进入GRUB。
- 如果GRUB被密码保护,需要先拿到GRUB密码,或使用救援介质。
本地物理接触是最高权限,能进GRUB,基本就能重置root密码,不能进GRUB,还可以用Live CD或把磁盘挂到另一台Linux机器上处理。
Linux服务器root密码忘了怎么重置:单用户模式通用流程
进入GRUB并修改启动参数
大多数传统Linux发行版都能用单用户模式重置密码。
- 重启服务器,出现GRUB菜单时按
e编辑当前内核。 - 找到以
linux或linux16开头的行。 - 在行尾添加
rw init=/bin/bash或single。 - 按
Ctrl+X或F10启动。 - 进入shell后执行:
mount -o remount,rw / passwd root
- 输入两次新密码。
- 如果SELinux处于启用状态,执行
touch /.autorelabel。 - 最后执行
exec /sbin/init或reboot -f。
业内专家指出,单用户模式的前提是GRUB可编辑,一旦GRUB被密码保护,这条路就走不通,此时应改用救援模式或Live CD。
CentOS/RHEL/Rocky Linux 的 rd.break 方法
CentOS 8/9、RHEL 8/9、Rocky Linux、AlmaLinux更适合用rd.break。
- 在GRUB编辑界面,内核行尾添加
rd.break。 - 按
Ctrl+X启动,进入switch_root提示。 - 依次执行:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
如果系统启用了LUKS全盘加密,需要先输入解密密码,全盘加密下无法绕过密码直接改/etc/shadow,这是设计上的安全边界。
Ubuntu/Debian 恢复模式与Live CD
Ubuntu和Debian可以用恢复模式。
- 重启按
Shift或Esc进入GRUB。 - 选择
Advanced options for Ubuntu,再选recovery mode。 - 进入
root Drop to root shell prompt。 - 执行
mount -o remount,rw /。 - 执行
passwd 用户名修改密码。
如果恢复模式也被密码保护,用Ubuntu Live USB启动,挂载原系统根分区后
chroot,再执行passwd,操作完成后卸载分区并重启。
单用户模式修改root密码和救援模式哪个好
| 方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 单用户模式 | 本地服务器、VNC可用、GRUB可编辑 | 快,不用额外介质 | GRUB加密时不可用 |
| rd.break | CentOS/RHEL 8+ | 兼容新系统 | 步骤稍多 |
| 救援模式/Live CD | 云服务器、GRUB损坏、文件系统异常 | 通用性强 | 需要挂载和chroot |
| 云控制台重置 | 国内云服务器 | 最简单 | 依赖云平台,需重启 |
| IPMI/KVM | 本地机房 | 可远程操作 | 需要管理卡权限 |
行业共识认为,选择哪种方式,取决于你能否进入启动引导,以及是否拥有带外管理权限,能进GRUB就用单用户模式,不能进就用Live CD或云控制台。
Linux系统忘记密码重置需要多少钱
自己操作的成本是0元,代价通常是几分钟到半小时,以及一次重启。
- 云服务器:多数云厂商控制台重置密码免费,部分增值服务可能收费。
- 第三方运维:如果找北京、上海、深圳等地上门或远程代操作,费用通常按服务级别、响应时间和地区浮动。
- 简单重置可能几十到几百元,复杂救援、数据恢复或全盘加密场景另计。
- 不要为了省小钱跳过快照,快照费用远低于数据丢失后的恢复成本。
如果服务器承载核心业务,优先选择带快照、带VNC、带带外管理的云服务,密码忘记本身不贵,贵的是误操作导致业务中断。
操作前必看:备份、授权与失败排查
必须做的准备
- 确认你有合法授权,不要操作不属于自己的服务器。
- 云服务器先创建快照,本地服务器先备份重要数据。
- 记录分区、文件系统、是否LUKS加密、SELinux状态。
- 准备可用的Live CD或云厂商VNC。
- 新密码用密码管理器保存,避免再次忘记。
常见报错与处理
Authentication token manipulation error:根分区只读,重新挂载为读写。- 修改后无法登录:SELinux未relabel,执行
touch /.autorelabel。 - GRUB无法编辑:可能启用了GRUB密码,需要救援介质。
- 云服务器无VNC:用控制台重置密码,或挂载系统盘到临时实例修复。
- 文件系统损坏:先
fsck,再重置密码。 - 全盘加密:需要先输入LUKS密码,无法绕过。
密码忘记不是灾难,盲目重装才是,先判断服务器类型,再选云控制台、单用户模式或救援模式;操作前做快照,操作后验证登录。
Q&A:Linux服务器登录密码忘记怎么办
云服务器Linux密码忘了,SSH密钥还能登录吗
能,只要密钥对仍有效,且SSH配置允许密钥登录,直接ssh user@ip,再sudo passwd root或sudo passwd 用户名即可,密钥登录不依赖密码。
没有控制台权限,能远程重置Linux密码吗
不能,密码重置需要修改/etc/shadow,这要求你拥有root权限或带外管理权限,没有云控制台、IPMI、KVM或物理接触,只能重装系统,或把磁盘挂到另一台机器处理。
修改root密码会影响服务器上的数据吗
不会。passwd只更新/etc/shadow中的密码哈希,不触碰业务数据,但错误修改启动参数或挂载分区,可能导致系统无法启动。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/685697.html





