Ubuntu服务器账号密码忘了怎么办,如何重置root密码?

如果Ubuntu服务器账号密码忘了,最直接有效的办法就是通过Grub引导菜单进入单用户模式重置密码,或者用Live CD挂载系统后修改shadow文件。这两种方法都不依赖原密码,只要你有物理控制台或相应的远程管理权限就能操作,下面我会结合具体场景,一步步拆解操作细节,并顺带解决你可能会遇到的“重置完密码重启又失效”这类麻烦。

ubuntu服务器账号密码忘了怎么办?先分清你的重置场景

很多人一碰到密码失效就慌了,其实在动手之前,先确认自己属于哪种“忘了”,是普通的ubuntu用户密码忘了,还是root密码忘了?服务器是物理机、虚拟机,还是云厂商的实例?每类情况的重置路径不完全一样。

第二十六讲:忘记root密码后的恢复(GRUB引导程序)
加载中
第二十六讲:忘记root密码后的恢复(GRUB引导程序)

实际运维中,我见过大量因为改动了/etc/shadow文件权限、误设了passwd命令限制、或者SSH密钥登录完全替代密码登录后,自己又把密钥弄丢的案例,行业共识认为,超过三成的Ubuntu服务器密码丢失,根源不是“记忆力衰退”,而是之前对认证配置的过度修改。

不管哪种场景,第一步永远是确认你能接触到什么:

  • 如果服务器在你手边,直接用显示器键盘接上去,跟普通电脑一样操作
  • 如果服务器在机房的远程管理卡(IPMI/iLO/iDRAC)里,用Web控制台也能获得同等的物理访问效果
  • 如果是云服务器,简米云、酷番云、华为云的控制台都提供VNC登录,相当于给你一个远程显示器

先把这条链路打通,后面的重置步骤才有意义,否则你就算知道命令,也没地方敲。

最经典的方案:通过Grub进入单用户模式重置密码

这是Ubuntu服务器密码重置的“压箱底”操作,适用绝大多数物理机和虚拟机,整个过程不需要任何预装的救援工具,只要启动时能看到Grub菜单就行。

第一步:在Grub菜单里中断正常启动

服务器开机或重启时,当看到如下界面:

GNU GRUB 版本 2.06

马上按键盘方向的下箭头,选中默认内核那一行,然后按e进入编辑模式,注意,这个菜单停留时间默认只有几秒,手速慢了就进系统了,如果抓不住,可以重启再试,或者提前在/etc/default/grub里把GRUB_TIMEOUT调大。

第二步:修改内核启动参数

在编辑界面里,找到以linux开头的那一行,

linux /boot/vmlinuz-5.15.0-91-generic root=UUID=... ro quiet splash

用方向键定位到行尾,把ro改成rw,然后在末尾先加一个空格,再追加:

Ubuntu服务器账号密码忘了怎么办,如何重置root密码?

init=/bin/bash

注意,这里不要动root=UUID=...的部分,只改ro和追加参数,改完后的效果:

linux /boot/vmlinuz-5.15.0-91-generic root=UUID=... rw quiet splash init=/bin/bash

rw是让根文件系统以可读写方式挂载,init=/bin/bash则是让系统跳过所有服务,直接进入一个bash交互环境,这一步是关键,很多人改成init=/bin/sh,在部分系统上会遇到PATH不完整的问题,用/bin/bash更稳妥。

第三步:直接改密码

按Ctrl+X或F10启动,你会看到一个没有登录提示的bash界面,直接敲:

passwd ubuntu

或者如果你想重置root密码:

passwd root

系统会提示输入两次新密码,这里有个细节,输入密码时屏幕不会显示任何字符,别以为键盘没响应,正常打完回车就行,如果提示Authentication token manipulation error,往往是因为文件系统还是只读,你需要在bash里手动确认一下:

mount -o remount,rw /

再执行passwd命令。

改完后,输入exit或按Ctrl+D继续启动,进入系统后用新密码登录即可。

ubuntu重置root密码后重启就失效?问题出在别处

很多人按上面的步骤成功重置了密码,结果重启一次后又变回密码错误,或者直接报Authentication failure,别急着怀疑自己操作错了,常见原因有三个:

shadow文件权限被篡改

/etc/shadow文件权限应该是-rw-r-----,属主是root,如果之前有人执行过chmod 644 /etc/shadow,普通用户就能读,但root密码认证反而可能错乱,你可以在单用户模式下执行:

ls -l /etc/shadow
chmod 640 /etc/shadow

顺便看一眼passwd命令的权限:

ls -l /usr/bin/passwd

正常输出应该包含s位,比如-rwxr-sr-x,如果没有setuid位,普通用户就无法修改自己的密码。

启用了PAM的特殊认证规则

现代Ubuntu默认使用PAM模块,当你在Grub里用init=/bin/bash重置密码时,实际上绕过了PAM的密码策略检查,如果系统开启了pam_pwquality或pam_unix的remember选项,那么你设置的新密码可能不符合策略,但bash环境又允许你写入了,登录时PAM重新校验发现异常,就会拒绝认证。

这种情况下,建议在reset后立即检查:

Ubuntu服务器账号密码忘了怎么办,如何重置root密码?

cat /etc/pam.d/common-password

看一下有没有remember=5这样的参数,如果有,要么按策略要求设置密码,要么暂时注释掉相关行再重启。

忘记启用了sudo权限的用户

如果你重置的是普通用户密码,但该用户根本不在sudo组里,那你登录后也没法做管理操作,同样在单用户模式下执行:

usermod -aG sudo ubuntu

把目标用户加入sudo组,避免你一次次重复进入单用户模式。

物理控制台不可用?用Live CD挂载系统修改shadow文件

如果你的服务器是云主机,但没人给你Grub权限,或者VNC控制台连不上,那就需要靠云厂商的“救援模式”或者Live CD镜像了,这个方案的思路是:不启动你原来的系统,而是用一个临时系统去修改你的磁盘文件。

操作步骤

  • 在云控制台找到“救援模式”或“挂载系统盘”,多数云平台都提供类似功能
  • 将你的系统盘挂载到一个临时的救援实例上
  • 挂载后,进入挂载点目录,比如/mnt/ubuntu
  • 此时需要先处理一下shadow文件,因为直接改可能被锁定

先看一下挂载点:

mount | grep /mnt

然后修改目标系统的shadow文件:

chroot /mnt/ubuntu passwd root

有些环境没有chroot,也可以直接编辑文件:

vi /mnt/ubuntu/etc/shadow

找到root:开头的那一行,把第一和第二个冒号之间的加密串删掉,变成:

root::19747:0:99999:7:::

这样root密码就变成了空密码,保存退出,然后卸载挂载,重启原服务器,注意,空密码登录后要第一时间设置新密码,否则任何人都能直接登录。

为什么不建议直接删掉后面所有内容?

不少人图省事,把/etc/shadow里root那一行整个删掉,结果系统直接拒绝root登录,正确做法是只清除密码哈希字段,保留其他时间参数,行业共识认为,修改认证文件时,越保守越好。

ubuntu服务器密码重置后,必须处理的三个收尾项

密码重置成功不代表结束,后面这几个动作不做,下次可能又进不去。

同步更新SSH密钥和登录方式

如果你的服务器之前开启了PasswordAuthentication no,那即使你重置了密码,SSH也照样拒绝密码登录,要在服务器上用新密码登录后,编辑:

vi /etc/ssh/sshd_config

确认其中包含:

PasswordAuthentication yes
PermitRootLogin yes

如果怕安全风险,也可以保留密钥登录,但至少把新的公钥加到

Ubuntu服务器账号密码忘了怎么办,如何重置root密码?

authorized_keys里,否则你明天就真的连不上了。

清理历史认证记录

重置密码后,最好看看有没有异常登录记录:

last -f /var/log/wtmp
grep "Failed password" /var/log/auth.log

如果发现在密码丢失期间有异常IP尝试登录,说明系统可能已经被盯上,顺手检查一下/etc/sudoers和crontab里有没有被人加料,这个过程不复杂,但值得花两分钟做一遍。

设置合理的密码策略和恢复手册

别再设成abc123这种密码了,Ubuntu中执行:

apt install libpam-pwquality
vim /etc/pam.d/common-password

设置最小长度和复杂度,

password requisite pam_pwquality.so retry=3 minlen=12

同时建议把重置流程写成一页纸的文档,放进你们的运维手册里,就算你有一天真的忘了,也不至于翻历史命令找半天。

常见问题解答(Q&A)

Q1: 酷番云ubuntu服务器密码忘了,能像物理机那样改Grub吗?

可以,但先别进Grub,酷番云控制台里先试“重置密码”功能,在实例详情页选择“更多”->“密码/密钥”->“重置密码”,只需提供手机验证和新的SSH密钥或密码,如果这个功能不可用(比如实例已关机或系统损坏),再使用“救援模式”挂载系统盘,步骤和我上面讲Live CD一致。

Q2: ubuntu服务器密码忘了无法进入系统,还能拿到里面的数据吗?

能拿到,用Live CD或云救援模式挂载磁盘后,即使不重置密码,你也可以直接浏览挂载目录下的文件,数据文件都在/mnt/.../home/和/mnt/.../var/www等位置,注意挂载时要用读写模式,只读挂载只能看不能改。

Q3: 重置密码后,原来运行的服务会受影响吗?

如果你通过单用户模式重置密码,整个过程没有启动任何服务,所以服务在下次正常启动时会照常运行,但如果你修改了/etc/shadow文件,而系统启动时正好有正读取该文件的服务(比如LDAP认证代理),极端情况下可能会短时认证出错,大多数情况下,重启一次所有服务重新初始化,影响基本为零。

最后再强调一遍:密码没了不可怕,可怕的是连进入系统的备用路径都没有,平时给root账号设一个强密码,再保留一个非root的sudo用户,或者至少在云平台开启密钥登录,以上所有重置操作的核心逻辑,无非是通过启动环境绕过认证或直接修改认证文件,下次再遇到类似问题,按这个思路走就不会慌。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/723082.html

赞 (0)
ECS绑定域名后,如何通过域名访问服务器?,解析多久生效?
上一篇 2026年10月8日 04:23
CS完美平台连不上服务器咋办,网络故障排查方法?
下一篇 2026年10月8日 04:26

相关推荐

  • aspx前后台探讨,如何优化aspx开发中的前后台交互体验?

    在ASP.NET Web Forms开发框架中,ASPX前后台(即.aspx文件与.aspx.cs或.aspx.vb文件)构成了其核心的页面模型,实现了用户界面展示与服务器端逻辑的分离,这一模型通过事件驱动的方式处理Web请求,使得开发人员能够采用类似于桌面应用程序的编程模式来构建动态网站和Web应用,其专业价……

    2026年2月3日
    12900
  • 广州虚拟主机网站怎么修改源码?虚拟主机如何修改网站代码

    修改广州虚拟主机网站源码,需通过控制面板文件管理器或FTP工具连接服务器,定位网站根目录(如public_html),下载备份原文件后,使用专业代码编辑器修改对应模板文件,最后通过同步上传覆盖旧文件并强制刷新浏览器缓存生效,源码修改前置准备与路径定位权限确认与环境核验修改源码前,必须确认虚拟主机具备文件写入权限……

    2026年4月26日
    5200
  • 简米云服务器如何连接云mysql数据库,连接不上怎么办?

    连阿里云服务器和云数据库 MySQL,核心就一句话:先把 ECS 的内网 IP 加进 RDS 白名单,然后用内网地址去连,绝大多数用户连不上、连接超时,都是因为跳过了白名单配置这一步,下面按实操顺序,把从零到通的每一步都拆开讲清楚,先搞清楚:你的服务器和数据库到底用内网还是外网连很多人一上来就拿着云数据库的公网……

    2026年10月5日
    000
  • 广西互联网舆情监测中心是做什么的?舆情监测服务收费标准

    广西互联网舆情监测中心通过全天候数据抓取与AI情感分析,能精准识别潜在风险并提供实时预警,是政府及企业维护品牌形象、化解危机的核心数字化工具,在数字化浪潮席卷而来的今天,信息传播的速度早已超越了传统媒体的边界,对于身处西南门户的广西而言,无论是跨境贸易的蓬勃兴起,还是文旅产业的火爆出圈,每一次热点事件的发酵都可……

    2026年5月29日
    7900
  • 服务器IP用户名和密码忘记了如何找回,有什么方法

    如果你忘记了服务器IP、用户名和密码,最直接的解决方法是利用云服务商的控制台重置功能,或通过服务器救援模式、单用户模式等底层手段恢复访问权限,同时通过服务商后台、域名解析记录或本地网络工具找回IP地址,服务器IP用户名密码忘了怎么找回?先判断服务器类型和可用入口不同场景下可用的恢复手段差异很大,第一步是搞清楚你……

    2026年8月12日
    1500
  • 如何构建永久安全的物联网?物联网安全防护

    构建永久安全的物联网并非通过单一技术实现,而是依赖“零信任架构+硬件级可信根+自动化持续合规”的三位一体体系,从设备出厂到退役全生命周期阻断攻击面,物联网安全早已不是简单的防火墙问题,而是涉及物理世界与数字世界交汇的深层危机,随着智能家居、工业互联网和车联网的普及,攻击者不再仅仅盯着服务器,而是将目光转向了资源……

    2026年5月25日
    5300
  • AI应用开发购买需要注意什么?AI应用开发购买流程详解

    企业在数字化转型浪潮中,通过专业的AI应用开发购买服务获取定制化智能解决方案,已成为提升核心竞争力的最快路径,相比于组建内部团队从零研发,直接购买成熟的开发服务能够将项目落地周期缩短50%以上,并有效规避技术选型错误与人才招聘滞后的风险,这一策略的核心价值在于“以确定的成本换取不确定的技术红利”,帮助企业快速实……

    2026年3月4日
    12200
  • VollCloud香港CERA VPS新购9折划算吗?香港原生IP解锁Netflix

    VollCloud香港CERA VPS凭借原生IP与CMI回程优势,配合新购9折优惠,是追求低延迟、高稳定性及流媒体解锁体验用户的优选方案,在服务器租赁市场,香港节点因其独特的地理位置和网络架构,长期被视为连接内地与海外流量的黄金通道,对于需要访问国际内容或搭建跨境业务的用户而言,网络质量往往比单纯的价格更为关……

    2026年6月29日
    1500
  • ajax如何用jsonp接收json数据?jquery ajax jsonp跨域请求实例

    在Ajax中使用JSONP接收JSON数据的核心方法是利用HTML <script> 标签的跨域特性,通过动态创建脚本元素并调用后端指定的回调函数来传递数据,从而绕过浏览器的同源策略限制,JSONP(JSON with Padding)虽然是一种古老的跨域解决方案,但在2026年的前端开发语境下,理……

    程序编程 2026年6月1日
    3200
  • Palia怎么才能和好友在同一个服务器?,怎么联机

    在Palia中,想和好友在同一个服务器游玩,最直接的方法是通过游戏内好友系统添加对方,然后发起组队邀请或使用好友传送功能,系统会自动将你们匹配到同一服务器实例,Palia好友联机教程:确保你们在同一服务器想要和好友在Palia世界里并肩漫步,首先得明确一个核心机制:Palia使用动态服务器分线技术,玩家登录时会……

    2026年8月21日
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注