当前位置: 首页 > article >正文

生产环境救急指南:Linux服务器忘记密码的N种解法,覆盖主流系统和云厂商

说实话做运维这么多年密码忘记这事儿我自己都干过好几次更别提帮别人处理的次数了有时候是接手别人的机器没交接清楚有时候是自己太久没登录给忘了还有的时候是同事离职了账号没留……反正各种奇葩情况都遇到过。今天就把这些年的经验整理一下把主流Linux发行版和云厂商的密码重置方法都捋一遍希望能帮到有需要的朋友。为啥密码会忘先聊聊原因吧这个其实挺重要的知道原因才能避免下次再犯。我见过最多的几种情况一是服务器太多密码策略又要求定期更换换着换着就乱了二是接手别人的机器文档没留或者留错了三是测试环境随手设了个简单密码结果上线后找不到记录还有一种就是纯碎自己脑子短路设了个自认为能记住的密码过两天就忘得一干二净。不管啥原因吧反正密码忘了就是忘了得想办法解决。传统物理服务器/虚拟机的密码重置2.1 Ubuntu/Debian 系列的单用户模式这个方法算是比较经典的了适用于你能接触到服务器控制台的情况不管是物理机的显示器键盘还是虚拟机的VNC控制台。操作步骤其实不难但不同版本有点小区别。Ubuntu 20.04/22.04/24.04 的操作重启机器在GRUB启动界面出现的时候赶紧按住Shift键有些机器是ESC让GRUB菜单显示出来。选中第一项也就是默认的启动项按键盘上的e键进入编辑模式。在编辑界面里往下找找到以linux开头的那一行挺长的一般在中间位置。找到ro quiet splash这部分把ro改成rw然后在后面加上init/bin/bash。改完之后按Ctrl X或者F10启动这时候系统会进入一个简单的shell环境不需要密码。然后就是重置密码了passwdroot# 输入新密码两次如果系统提示Authentication token manipulation error可能是文件系统只读挂载了先执行mount-oremount,rw /passwdroot密码改完之后重启系统exec/sbin/init# 或者直接强制重启reboot-fDebian 12/13 的操作Debian的操作跟Ubuntu差不多但Debian 13稍微有点变化它的GRUB配置界面可能不太一样。同样是重启进GRUB按e编辑找到linux那行在行尾加上init/bin/bash然后按CtrlX启动。进入shell后# 先确保根目录可写mount-oremount,rw /# 修改密码passwdroot# 重启exec/sbin/init这里有个坑Debian 13有时候默认不安装/sbin/init这个路径如果执行报错可以试试/sbin/reboot-f或者直接在虚拟化管理界面强制重启。2.2 RedHat/CentOS/Rocky/Alma 系列的救援模式红帽系的系统操作稍微不太一样它有个专门的救援模式可以用。CentOS 7/8/9、Rocky Linux 8/9、AlmaLinux 8/9 的操作重启系统在GRUB菜单选择内核的时候按e进入编辑模式。找到以linux16或linux开头的那一行在末尾加上rd.break。按CtrlX启动系统会进入紧急模式。这时候系统会挂载/sysroot目录但是只读的要先重新挂载mount-oremount,rw /sysroot然后切换到chroot环境chroot/sysroot修改密码passwdroot这里有个重要步骤SELinux的标签要重置否则重启后可能登录不了touch/.autorelabel最后退出并重启exitexit系统会自动重启第一次启动可能会花点时间重置SELinux标签耐心等待就好。RHEL 8/9 的操作RHEL的操作跟CentOS基本一致但如果你有订阅账号还可以用官方的救援镜像。通过订阅管理的Red Hat Customer Portal可以下载救援ISO挂载启动后选择Rescue installed system它会自动找到你的系统并挂载然后你chroot进去改密码就行。不过说实话大多数情况下用GRUB编辑的方法就够了不需要专门去搞救援镜像。2.3 使用Live CD/USB重置密码如果单用户模式进不去或者GRUB被加密了可以用Live CD/USB启动系统然后手动挂载磁盘改密码。找个同架构的Linux Live CD比如Ubuntu Live或者SystemRescueCd启动后进入shell。查看磁盘分区fdisk-l# 或者lsblk找到原来的根分区挂载mkdir/mnt/rootmount/dev/sda2 /mnt/root# 假设根分区是sda2切换到chroot环境chroot/mnt/rootpasswdrootexit重启后用新密码登录即可。云服务器密码重置云服务器的情况稍微复杂一点因为你看不到真正的控制台但云厂商一般都提供了密码重置功能而且操作起来比物理机方便多了。3.1 阿里云ECS阿里云的密码重置算是比较方便的有两种方式。方式一控制台重置登录阿里云控制台进入ECS实例列表找到目标实例。如果实例是运行状态可以直接点击「更多」→「密码/密钥」→「重置实例密码」。输入新密码确认后如果是运行中的实例需要重启才能生效。如果实例是停止状态密码会立即生效。这里有个细节要注意如果你的实例是经典网络类型重置密码后可能需要重启才能生效如果是VPC类型有些情况下不需要重启。方式二VNC远程连接如果控制台重置密码的功能用不了比如实例状态异常可以用VNC远程连接。在实例详情页点击「远程连接」选择VNC方式。如果是第一次使用会提示设置VNC密码这个密码跟系统密码不是一回事要区分开。连接上去后就跟操作本地虚拟机一样了可以用前面说的单用户模式重置密码。不过说实话阿里云的密码重置功能已经很完善了大多数情况下用控制台直接重置就行没必要折腾VNC。3.2 腾讯云CVM腾讯云的操作跟阿里云差不多也是控制台直接重置。登录腾讯云控制台进入云服务器CVM列表找到目标实例。点击「更多」→「密码/密钥」→「重置密码」。输入新密码确认后如果实例在运行系统会提示需要重启才能生效。腾讯云有个地方要注意如果你设置的是密钥对登录密码登录可能会被禁用这时候需要先把密码登录开启。在「登录设置」里可以修改。另外腾讯云的VNC连接叫「标准登录」或「OrcaTerm」在实例列表点击「登录」就能选择。3.3 华为云ECS华为云的密码重置也差不多控制台找到实例「更多」→「重置密码」。不过华为云有个特色功能叫「一键重置密码插件」需要在创建实例时安装。如果创建时没装这个插件控制台的重置密码功能可能用不了需要用其他方式。如果没有安装一键重置密码插件可以关机实例进入「镜像服务」使用该实例创建镜像用新镜像创建实例时设置新密码或者更简单的方法使用云服务器控制台的「远程登录」功能通过VNC连接进去用单用户模式重置。3.4 AWS EC2AWS的密码重置方式有点不太一样因为EC2默认是用密钥对登录的密码登录默认是关闭的。如果是Amazon Linux或者RHEL之类的系统可以用以下方式方式一EC2 Serial Console如果实例支持Serial Console访问可以在控制台启用。EC2 Serial Console允许你通过串口连接到实例然后可以用单用户模式重置密码。不过这个功能需要在实例上启用而且需要实例支持。查看实例类型是否支持Nitro系统大多数新实例都支持。方式二使用用户数据脚本停止实例修改用户数据添加以下脚本Content-Type: text/cloud-config#cloud-configpassword: YourNewPassword chpasswd:{expire: False}ssh_pwauth: True启动实例后密码就会生效。但这种方式只在实例首次启动或者用户数据变化后首次启动时执行。方式三挂载根卷到另一个实例停止目标实例在控制台分离根卷通常是/dev/xvda或/dev/sda1。把分离出来的卷挂载到另一个可以访问的EC2实例上挂载后chroot进去改密码或者直接修改/etc/shadow文件。改完后重新挂载回原实例启动即可。这个方法比较麻烦但是最可靠几乎所有Linux发行版都适用。3.5 Azure虚拟机Azure VM的密码重置也有几种方式。方式一Azure Portal重置登录Azure Portal找到目标虚拟机在左侧菜单找到「重置密码」。输入新用户名和密码点击「更新」即可。这个功能底层是使用VM Agent执行的如果VM Agent没装或者不工作这个方法就没法用了。方式二使用Run CommandAzure有个功能叫Run Command可以在不登录的情况下执行命令。在虚拟机页面找到「运行命令」选择RunShellScript然后输入echoroot:YourNewPassword|chpasswd点击运行等待执行完成。方式三使用Serial ConsoleAzure也支持Serial Console访问在虚拟机页面找到「串行控制台」连接后就可以像本地控制台一样操作了。进入GRUB后用单用户模式重置密码即可。3.6 其他云厂商天翼云、移动云、联通云等运营商云的操作大同小异都是控制台找到实例点击重置密码输入新密码重启生效。京东云、百度云、金山云等也是类似的操作流程就不一一赘述了。容器环境的密码重置有人可能会问Docker容器里的Linux密码忘了怎么办这个其实不是问题容器本身就不应该有密码登录的概念。容器的正确使用方式是通过docker exec或者kubectl exec进入容器不需要密码。如果真要在容器里设置密码也是改镜像或者持久化存储里的配置而不是在运行中的容器里改。预防措施说完了怎么解决问题再聊聊怎么预防。首先密码管理工具用起来。不管是公司里的密码管理系统还是个人的1Password、Bitwarden之类的都比记在脑子里或者写在便签纸上靠谱。其次SSH密钥对登录优先。密码容易忘密钥不会忘而且更安全。但要注意私钥要备份好丢了比密码忘了还麻烦。第三堡垒机或者跳板机用起来。通过堡垒机登录服务器堡垒机上可以设置密码代填不用记住每台服务器的密码。第四文档要跟上。新服务器上线密码要及时记录交接的时候文档要完整。这些都是运维的基本功。第五定期巡检。时不时登录一下不常用的服务器确认账号密码是否正确有问题早发现早解决。一些踩过的坑最后分享几个我遇到过的坑。一次是给客户重置密码改完之后死活登录不上排查了半天发现是SELinux标签没重置重启后验证通不过登录被拒绝。从此以后红帽系的系统改密码必执行touch /.autorelabel。还有一次云服务器控制台重置密码等了半天没生效结果发现实例是停止状态下的重置密码设置了但没重启等了半天白等。所以现在如果实例是停止的先启动再确认密码是否生效。最坑的一次是接手一台老服务器用各种方法都进不去最后发现GRUB被加密了密码不知道。这种情况下只能用Live CD启动挂载磁盘改/etc/shadow文件。从那以后我都习惯问一下之前的运维有没有给GRUB加密。总结密码忘记这事儿说大不大说小不小关键是要知道怎么处理。物理机和虚拟机单用户模式和Live CD是两大法宝云服务器控制台重置密码是最方便的方式实在不行VNC和Serial Console能救急。当然最好的办法还是做好密码管理别让自己陷入这种窘境。希望这篇文章能帮到有需要的朋友有问题可以在评论区留言交流。个人博客躬行笔记如果这篇文章对你有帮助欢迎关注转发你的支持是我持续输出的动力

相关文章:

生产环境救急指南:Linux服务器忘记密码的N种解法,覆盖主流系统和云厂商

说实话,做运维这么多年,密码忘记这事儿我自己都干过好几次,更别提帮别人处理的次数了,有时候是接手别人的机器没交接清楚,有时候是自己太久没登录给忘了,还有的时候是同事离职了账号没留……反正各种奇葩情…...

Go语言构建高性能Discord机器人:并发架构与实战指南

1. 项目概述:一个用Go语言打造的Discord机器人框架如果你在Discord社区里泡过一段时间,或者自己运营过服务器,大概率会想过:“要是能有个机器人帮我自动处理这些重复性工作就好了。” 从欢迎新成员、管理频道、组织活动&#xff0…...

盼之decode__1174

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包 内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!侵权通过头像私信或名字简介叫我删除博…...

为Node.js后端服务配置Taotoken实现稳定的大模型调用

为Node.js后端服务配置Taotoken实现稳定的大模型调用 1. 准备工作 在开始集成Taotoken服务之前,需要确保Node.js环境已准备就绪。推荐使用Node.js 16或更高版本,并确保已安装npm或yarn包管理器。创建一个新的项目目录或定位到现有后端项目,…...

电路板逆向工程瓶颈?OpenBoardView跨平台解析实战指南

电路板逆向工程瓶颈?OpenBoardView跨平台解析实战指南 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 当你在MacBook Pro主板维修时,面对那个神秘的.brd文件格式,传统工…...

FlowBoard:为AI智能体打造文件驱动的本地项目工作空间

1. 项目概述:为AI智能体打造一个永不掉线的“工作台”如果你和我一样,长期与AI智能体(比如OpenClaw)协作进行项目开发,一定被同一个问题反复折磨:上下文丢失。每次开启一个新的会话,你的AI伙伴就…...

【AISMM模型落地实战指南】:20年知识管理专家亲授5大融合步骤,避开90%企业踩过的3个致命误区

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与知识管理融合的底层逻辑 AISMM(Adaptive Intelligent Semantic Memory Model)并非传统静态知识图谱的简单延伸,而是一种以认知闭环驱动的动态语义记忆架构…...

别再只存几个字节了!用STM32 HAL库玩转AT24C02的页写功能,效率提升8倍

STM32 HAL库高效操作AT24C02:揭秘页写技术的8倍性能飞跃 在嵌入式开发中,EEPROM因其非易失性存储特性成为关键组件,而AT24C02作为经典型号,其页写功能往往被开发者忽视。大多数教程仅停留在单字节读写层面,殊不知这就像…...

开源中国双核战略:解码AI普惠时代的生态密码

当全球AI竞赛进入深水区,技术普惠与商业落地成为检验创新价值的终极标尺。开源中国以"模力方舟"与"口袋龙虾"构建的双核驱动体系,正在改写中国AI生态的发展轨迹——这不仅是一个技术平台的创新,更代表了中国科技企业在AI…...

FPGA新手避坑指南:用FIFO解决ADC高速采集与UART低速发送的速率不匹配问题

FPGA数据缓冲实战:FIFO在高速ADC与低速UART间的桥梁作用 当ADC采样速率达到每秒数十万次,而UART传输速度仅有115200bps时,如何确保数据不丢失?这个看似简单的速率匹配问题,曾让我在第一个FPGA项目上栽了大跟头。本文将…...

基于MCP协议与本地RAG,为AI助手构建私有知识库实战

1. 项目概述:为你的AI助手打造一个私有的、本地的知识大脑如果你正在使用Claude、Cursor,或者本地运行的Ollama模型,有没有想过,为什么它们不能像ChatGPT那样“记住”你的个人文档、公司资料或者研究论文?答案很简单&a…...

GD32读保护设置后,我的代码还能自己更新吗?深入解析FMC选项字节的‘自操作’机制

GD32读保护机制深度剖析:如何在保护状态下实现安全自更新 当我们在GD32微控制器上启用读保护功能时,最常被问到的一个问题是:"我的程序还能自我更新吗?"这个看似简单的问题背后,隐藏着对Flash存储安全机制的…...

2026年高口碑餐厅预约小程序排行榜:智能就餐新体验一键解锁

导读:2026年,餐厅预约小程序作为智慧餐饮生态的核心组成部分,正通过技术革新彻底重塑用户就餐体验与餐厅运营模式。这类工具基于智能算法和多端整合,为用户提供实时座位查询、一键预订及个性化推荐服务,显著提升了就餐…...

全栈开发技术栈的最新进展(2026年视角)

截至2026年5月,全栈开发技术栈正在经历一场由AI驱动的深刻变革,核心趋势可以概括为AI原生开发全面落地、元框架主导全栈融合、语言格局趋于稳定但新贵崛起、以及工程化全面AI化。以下从几个关键维度展开分析。一、AI重构开发全流程:从“辅助工…...

2026 .NET 面试八股文:高频题 + 答案 + 原理(高级核心篇)

2026 .NET 面试八股文:高频题 答案 原理(高级核心篇) 前言 2026年.NET生态持续升温,.NET 10正式普及、Native AOT成为企业选型核心、AI集成与云原生落地加速,面试考察重点也从基础语法转向「原理 实战 性能」三维…...

AI 系统主链路分层设计:从 RAG 检索到 Agent 执行的模块职责划分

问题现象:长链路 AI 系统频繁出现静默失败与状态不一致 在 AI 应用上线后,用户反馈智能问答结果偶尔返回空值或重复内容,且后台日志显示任务已提交但无执行记录。进一步排查发现,RAG 检索模块与 Agent 执行模块之间存在状态流转断…...

Windows 10 适配 OpenClaw 2.6.6 全自动部署教程

OpenClaw 2.6.6 Windows 10 专属一键部署教程|本地 AI 智能体完整搭建指南 OpenClaw(小龙虾)是一款可在本地环境运行的 AI 智能操作工具,能够通过自然语言指令完成文件管理、办公自动化、浏览器操控、系统维护等多项电脑任务。针…...

PZEM-004T v3.0电力监测库:构建工业级能源数据基础设施的战略选择

PZEM-004T v3.0电力监测库:构建工业级能源数据基础设施的战略选择 【免费下载链接】PZEM-004T-v30 Arduino library for the Updated PZEM-004T v3.0 Power and Energy meter 项目地址: https://gitcode.com/gh_mirrors/pz/PZEM-004T-v30 在数字化转型浪潮中…...

从“UI消失”到“ERROR”:一次 Unreal Engine 打包问题的排坑全记录

从“UI消失”到“ERROR”:一次 Unreal Engine 打包问题的排坑全记录 摘要:本文记录了一次在 Unreal Engine 开发中遇到的典型问题——UI 在编辑器中可见,但打包后消失。通过逐步排查,发现并解决了从逻辑缺失到节点连线错误的多个关键问题。 在 Unreal Engine 的开发过程中,…...

SDGs进展总滞后?AISMM模型首次公开8类行业适配模板,含制造业/金融业/教育业专属路径

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与可持续发展目标的耦合逻辑 AISMM(Artificial Intelligence for Sustainable Management Model)是一种面向系统性治理的人工智能建模范式,其核心设计目标是…...

基于可插拔发现机制的Arduino CLI自动化解决方案:实现硬件开发流程标准化

基于可插拔发现机制的Arduino CLI自动化解决方案:实现硬件开发流程标准化 【免费下载链接】arduino-cli Arduino command line tool 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-cli Arduino CLI作为Arduino官方命令行工具,专为嵌入式系…...

终极解决:Calibre中文路径乱码的完整指南

终极解决:Calibre中文路径乱码的完整指南 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地址: https://gitco…...

AI命令行助手LaphaeL-aicmd:终端集成大模型提升开发运维效率

1. 项目概述与核心价值最近在折腾命令行工具,发现一个挺有意思的项目叫LaphaeL12304/LaphaeL-aicmd。乍一看名字,你可能以为又是一个普通的命令行工具,但它的核心是把AI能力直接集成到你的终端里,让你不用离开命令行就能调用大模型…...

【AISMM模型权威指南】:20年专家解密技术创新评估的5大致命盲区与落地路径

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与技术创新评估 AISMM(Artificial Intelligence Software Maturity Model)是一种面向AI系统全生命周期的成熟度评估框架,聚焦于算法可解释性、数据治理强度…...

基于React+Node.js的轻量级抽奖系统:从算法到部署的全栈实践

1. 项目概述与核心价值最近在筹备一个线上活动,需要一个公平、透明且能实时统计的抽奖系统。市面上的第三方工具要么功能臃肿,要么数据不透明,要么就是费用不菲。作为一个喜欢折腾的开发者,我决定自己动手,用最熟悉的 …...

告别CentOS 8!在Hyper-V上无缝迁移到CentOS Stream 9的保姆级指南(附避坑与配置优化)

从CentOS 8到Stream 9的Hyper-V迁移实战手册 当CentOS官方宣布CentOS 8将在2021年底停止维护时,许多依赖该系统的运维团队面临紧迫的迁移需求。作为CentOS的滚动更新版本,CentOS Stream 9不仅提供了持续的安全更新,还与RHEL 9保持高度同步&am…...

ModelHamiltonian库:从Hubbard到Heisenberg,一键生成量子模型计算输入

1. 项目概述:从“玩具模型”到科研利器的桥梁在计算化学和凝聚态物理领域,我们常常会遇到一个核心矛盾:一方面,我们希望模型足够精确,能够捕捉真实体系的复杂行为;另一方面,我们又希望模型足够简…...

Git 实战:将 270MB 项目成功推送到 Gitee 遇到的坑

目录 Git 实战:将 270MB 项目成功推送到 Gitee 遇到的坑 问题背景 一、初始化 Git 仓库 1. 创建仓库 2. 配置用户信息 3. 创建 .gitignore 4. 添加并提交 二、连接远程仓库 1. 添加 Gitee 远程仓库 2. 验证远程仓库 三、首次推送失败 1. 尝试推送 2. 错…...

别再被‘Refused to execute script’卡住了!手把手教你用Nginx/Apache配置搞定MIME类型错误

彻底解决前端部署中的MIME类型错误:Nginx与Apache实战指南 当你满怀期待地将精心开发的前端应用部署到服务器,却在浏览器控制台看到刺眼的"Refused to execute script"错误时,那种挫败感我深有体会。这个看似简单的MIME类型问题&am…...

S32K3开发第一步:如何为S32DS 3.5安装正确的开发包(Product Updates Packages)

S32K3开发环境搭建:从零构建标准化开发环境的完整指南 当你第一次打开S32 Design Studio 3.5,准备开始S32K3系列MCU开发时,可能会遇到一个令人困惑的场景——创建新工程时找不到目标芯片型号。这不是你的操作失误,而是大多数开发…...