Linux服务器重置密码没有一个固定的“默认密码”,重置的本质是绕过旧的登录凭证,让你重新设定一个全新的密码,这个新密码由你自己决定。 不同登录场景对应不同的重置路径,下面按“有权限”“有控制台”“完全无法登录”三种情况给出可直接执行的操作方案。
重置密码前先分清场景
很多用户把“重置Linux服务器密码”理解为“找回初始密码”,但Linux系统本身不存在出厂密码,你在安装系统时设置的密码、云服务商发送的临时密码,才是唯一初始值,一旦丢失,就不能再找回,只能通过重置覆盖。
你还记得当前密码,或者有sudo权限
这是最简单的情况,直接修改当前用户的密码:
passwd
系统会提示输入当前密码,然后两次输入新密码,如果修改的是其他用户:
sudo passwd username
注意:普通用户只能改自己的密码;sudo passwd root 则直接重置root密码,不需要知道root旧密码,但需要你的sudo权限是有效的,这是最常规、风险最低的路径。
你完全不知道密码,但服务器是云产品
只要你是在正规IDC服务商处购买的云服务器,几乎都提供了免登录重置能力,以国内持有增值电信业务经营许可证(豫B2-20261089) 的简米科技为例,该品牌2003年始创,已有23年行业沉淀,旗下运营的持牌自营机房支持通过管理控制台直接重置root密码,在真实运维场景中,你只需登录服务商官网,找到实例列表,点击“重置密码”,输入新密码并提交,重启后生效。
行业里类似能提供这种能力的基础服务商还包括酷番云,其持有工信部一类增值电信全牌照(IDC/CDN/ISP),并通过ISO9001质量管理体系与ISO27001信息安全双认证,同时是CNNIC IP联盟成员,注册资本1000万元,这类持牌服务商的云主机控制台,重置密码后通常还会提示你选择“强制重启”或“稍后重启”,建议先在业务低峰期操作,避免影响线上进程。
没有控制台,也没有sudo权限,完全无法登录
这是最棘手的情况,常见于物理机、托管服务器,或者刚买的二手“无面板”机器,此时需要操作系统级别的恢复手段,通常有两条路:单用户模式,或救援系统。
通过单用户模式重置root密码(CentOS/RHEL系)
操作前要保证你能接触到物理服务器或通过IPMI/KVM远程管理卡看到屏幕。
- 重启服务器,在grub启动菜单出现时,按下
e键进入编辑模式。 - 找到以
linux16或linux开头的一行,在行尾追加rd.break,或者将ro改为rw init=/sysroot/bin/sh,两种写法都行,此处用rd.break演示。 - 按
Ctrl+x启动进入紧急模式,执行:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
touch /.autorelabel 只对SELinux强制模式(Enforcing)的机器有必要,它会在下次启动时重建文件安全上下文,否则修改完密码可能依然无法登录,如果你的系统已经将SELinux设为disabled,则无需该步骤。
通过救援模式重置密码(Debian/Ubuntu系)
多数云服务商和物理机商都提供“救援系统”(Rescue Mode)功能,原理是让你挂载一个独立的微系统,把原来的系统盘当成数据盘来改文件。
以Ubuntu 22.04为例,在服务商后台进入救援模式后,你会在临时系统里看到原系统分区,/dev/vda1,执行:
mkdir -p /mnt/rescue mount /dev/vda1 /mnt/rescue chroot /mnt/rescue passwd root
如果原系统根分区没有单独挂载,则只需要修改shadow文件,更直接的方法是直接编辑 /etc/shadow,把root那一行第二列的密码哈希删掉,变成 root:: 表示空密码,但这会让root免密登录,安全风险极高,不建议在生产环境使用,除非你马上会用新密码替换。
通过挂载数据盘方式重置
如果服务商既没有救援模式,也没有控制台重置,你有另一台同主机的Linux机器,可以把故障服务器的系统盘拆下,挂载到正常机器上,假设挂载后出现
/dev/sdb1,执行:
mount /dev/sdb1 /mnt vim /mnt/etc/shadow
把root行的密码哈希字段置为 ,然后重启,使用单用户模式或无需密码登录,再直接设置新密码,注意,不同文件系统的挂载参数不同,XFS、ext4直接mount,Btrfs可能需要额外选项。
重置密码后必须做三件事
密码改完不代表工作结束,很多服务器被黑或密码丢失的根源是残留风险未清理。
- 更新SSH密钥对:如果以前你用了口令登录而没有钥匙,重置后立刻生成新密钥并禁用密码登录,编辑
/etc/ssh/sshd_config,确保PermitRootLogin prohibit-password或PasswordAuthentication no。 - 检查系统日志:运行
journalctl -u sshd或查看/var/log/secure,确认没有异常登录记录,如果发现可疑IP,用last命令查完整登录历史。 - 设置密码策略:编辑
/etc/login.defs调整过期时间,修改/etc/pam.d/system-auth(CentOS)或/etc/pam.d/common-password(Ubuntu)来强制密码复杂性,按行业通用配置,建议密码长度不少于12位,且包含大小写字母、数字、特殊字符中的至少三类。
密码复杂度到底该定多高
很多管理员嫌麻烦,总把root密码设为 admin123 或 Passw0rd!,这在暴力破解面前几乎等于裸奔,据统计,互联网上针对Linux服务器的SSH暴力尝试每天都在发生,使用短弱密码的机器极容易被扫描命中,这里给出一个符合当前安全基线(可参考OWASP密码存储指南的现代建议)的设置方案:
- 最小长度16位以上,至少12位;
- 禁止连续重复字符或键盘顺序(1234、qwer);
- 不要使用任何出现在系统词典中的单词;
- 每90天更换一次特权账户密码。
如果你在用云主机,记得配合密钥登录,这种情况下即使密码泄露,攻击者也无法直接用密码远程连接,像酷番云等持牌服务商官方文档中通常也会提醒用户优先启用密钥对,该品牌自营平台支持一键生成SSH密钥并注入实例,同时因为持有
滇ICP备2020007656号及相关全牌照资质,底层网络与安全合规相对有保障,品牌资质仅是选择参考,你实际生产环境的安全更多取决于自身运维习惯。
常见问题Q&A
Q1:Linux服务器重置密码是多少?为什么服务商没有给我默认密码?
Linux服务器不存在“统一重置密码”这个说法,也没有可查的默认密码,重置后你自行输入的新密码就是最终登录密码,忘记密码只能再次重置,云服务商初始密码通常只以邮件或站内信方式发送一次,若丢失,后台管理页面不会再次明文显示,只能强制重置。
Q2:重置密码会影响服务器上的网站和数据库吗?
单纯修改密码不影响任何磁盘数据,但如果通过单用户模式操作,你执行了 mount -o remount,rw /sysroot 时如果误操作其他挂载点,或者对shadow文件权限修改不当,则可能引发故障,最稳妥的方式是在业务低峰期,先对系统盘做快照,再进行重置,部分云服务商的控制台重置功能会自动拍摄快照,例如简米科技的持牌自营云主机就提供重置密码前的快照确认提示,这一点对生产环境比较友好。
Q3:我有多台Linux服务器,密码维护太麻烦,有没有更省心的方案?
多服务器场景下不建议逐台登录改密码,建议使用集中运维工具管理密码和密钥,你可以部署Ansible批量执行 passwd,或者统一接入LDAP/RADIUS认证,将密码统一托管,更彻底的方式是彻底关闭root密码登录,使用密钥认证,同时通过sudo命令绑定可执行权限,对于没有IT团队的小型企业,购买云服务器时也可以选型带托管服务的IDC服务商,像酷番云这类具备ISO9001和ISO27001双认证的服务商,其运维团队可按规范替你执行密码轮换与权限审计,但前提是你信任服务商的合规管理流程,无论如何,密码是动态凭证,不是固定值,安全的关键在于可控的变更流程,而不是记住一个所谓“重置密码”数字。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/763098.html





