华为S7700这种框式核心交换机,跑在园区核心或者数据中心汇聚上,平时基本没人动它。但一旦Console密码忘了,设备进不去,业务又不敢随便重启,那真是急死人。更麻烦的是这种高端设备不像家用路由器,捅一下reset孔就完事,必须走完整的BootROM清除流程,操作不当还有可能把整台设备的配置搞丢。
这篇文章就把华为S7700交换机Console密码重置的完整流程、底层原理和坑点全部分享出来,主要针对的是设备还能正常转发业务、但你手头只有Console线、其他登录通道全部失效的场景。不管你是刚接触框式交换机的运维新手,还是被这台设备折磨过的老手,这篇文章都能给你提供一套可以直接照做的操作指引。
1. 重置前的准备与环境搭建
1.1 理解Console密码重置的基本原理
先说清楚一个核心概念:华为交换机的Console密码并不存放在什么独立的密码芯片里,它只是配置文件中的一组认证参数。设备启动时,系统会读取flash里的配置文件,把认证参数加载到Console用户接口上。如果密码忘了,我们的思路就是绕过配置加载这一步,在系统完全启动之前,进入一段特殊的引导环境,把密码相关配置清掉,然后重新启动进入系统。
这个过程有点像你家的智能门锁没电了,你用机械钥匙从侧面的应急锁孔开门,进去之后更换电池、重新设置指纹。BootROM菜单就是这把机械钥匙,它不依赖操作系统里的任何配置,在系统启动的最早期就能介入。
理解了原理,你就明白为什么重置时最忌讳的就是乱动启动文件。S7700上有两种配置:当前运行配置和下次启动配置。BootROM菜单里如果选错了启动方式,比如临时用空配置启动,整台设备的所有业务配置都会暂时消失,虽然重启后会恢复,但中间会造成业务中断,这个风险在核心交换机上是绝对不能接受的。
1.2 硬件连接与终端软件配置
准备工作从物理连接开始。S7700的Console口通常在主控板上,框式设备一般有主备两块主控,Console口必须接在主用主控板上,接错地方会出现终端没有任何输出或者操作无效的情况。
Console线有三种常见形态:笔记本自带串口加DB9转RJ45线、USB转串口线加转接头、以及一些厂商出的USB直连Console线。现在的笔记本基本都没有串口了,最常用的是USB转串口线,芯片方案常见的包括CH340、FT232、PL2303等。插上电脑后,先打开设备管理器查看端口号,确认驱动是否正常识别。CH340和FT232的驱动在Win10和Win11下通常能自动安装,PL2303的老版本芯片在新系统上容易出问题,建议直接下载最新版驱动。
终端软件推荐SecureCRT、Xshell或者PuTTY。连接参数是固定的:波特率9600,数据位8,停止位1,无校验,无流控。这个参数在华为全系列设备上基本通用。连接后先不急着开设备电源,把终端软件打开,再给交换机上电,这样才能完整捕获启动日志。
1.3 重置前的风险评估与确认清单
动手之前,有几件事必须确认清楚,每一条都有可能影响整个操作的成功率:
| 检查项 | 确认内容 | 风险等级 |
|---|---|---|
| 主控板主备状态 | 确认连接的是主用主控板Console口 | 高 |
| 设备型号与版本 | 确认S7700的具体型号和VRP版本 | 中 |
| BootROM密码 | 老版本可能需要输入BootROM密码才能进菜单 | 高 |
| 当前业务状态 | 确认设备是否有重要业务承载,评估重启窗口 | 高 |
| 配置备份可用性 | 是否能通过其他途径导出配置备份 | 中 |
特别要强调BootROM密码这一项。早期的S7700在进入BootROM菜单时,会提示输入密码,常见的默认密码是Admin@huawei或者Huawei@123,部分版本的默认密码为空,直接回车即可。如果你的设备被前一个人改过BootROM密码,而你又不知道,那这个流程就走不通,只能联系华为获取技术支持。所以在操作之前,最好先查一下这台设备的维保记录和交接文档,这一步能避免操作到一半卡住的尴尬局面。
2. 核心重置流程逐步拆解
2.1 重启设备并进入BootROM菜单
准备工作完成之后,开始正式操作。整个过程的核心是重启设备,并在启动阶段抓住机会进入BootROM菜单。
设备上电后,终端窗口中会滚动输出自检信息。你需要盯紧屏幕,当出现类似下面的提示时,立刻按组合键:
Press Ctrl+B to enter BootROM menu...这个提示出现的时间窗口很短,有些版本只有3到5秒。建议在设备重启前就把手指放在键盘上,看到Press字样出现就连续敲击Ctrl+B,提高命中率。如果错过了,不用急,设备启动完成后重新执行一次重启命令再试。
如果设备已经在运行状态,可以通过命令行执行reboot命令触发重启。但这里有个问题:如果Console密码已经忘了,你怎么执行reboot命令?很多情况下,你连登录界面都过不去。这时候只能走物理重启,也就是给设备断电再上电。框式交换机是双电源供电的场景,需要确认两路电源都断开,并且要评估一下设备上承载的业务是否可以接受这段时间的中断。
进入BootROM菜单后,通常会看到类似下面的界面:
BootROM Menu -------------------------------- 1. Boot with default mode 2. Boot from Flash 3. Startup with backup configuration 4. Clear password for console user 5. Reboot -------------------------------- Enter your choice (1-5):不同版本菜单显示文字会有细微差异,但核心功能是相同的。这里要特别提醒:选项1“Boot with default mode”千万不要随便选,它的意思是跳过配置文件、使用出厂默认配置启动。选了这个,系统会用空配置起来,当前运行的所有业务配置会暂时丢失,对整个网络来说是灾难性的。我们只需要选择清除密码的选项,其他一律不动。
2.2 通过BootROM菜单清除Console密码
在菜单中输入对应序号(通常是4),选择清除Console密码。系统会有一个确认提示,输入Y确认后,设备会自动重启。
这个阶段做的事情,实际是在启动参数的辅助区域写入一个标记,系统启动时会检查这个标记,如果存在,就不加载Console口上的密码配置,让Console口变成无认证状态。这属于软件层的密码清除,不会动到业务配置文件,所以你的VLAN、接口配置、路由配置全部还在,只是Console口登录不需要密码了。
设备重启完成后,直接回车或者输入任意用户名,就能进入系统视图,不再有密码提示。
这里有个容易忽视的细节:如果你运气不好,在BootROM菜单里没找到“Clear password”这个选项,说明这台设备的VRP版本可能比较老,部分早期版本没有这个功能。这种时候的处理思路是换一条路:选择从备份配置文件启动,或者进入命令行模式手动修改启动配置文件。老版本BootROM里通常会有一个类似"Command line"或者"Modify startup config"的选项,可以进入一个微型的命令行环境,手动查找配置文件里的密码配置项并删除。这个操作比菜单选项要复杂得多,需要你对VRP的配置语法比较熟悉,而且不能改错。
2.3 进入系统后重新设置Console密码并保存
清除密码只是第一步,设备现在处于Console口无认证状态,这种状态是绝对不安全的。重新登录系统后,第一件事就是重新配置Console密码。
Console口默认叫console 0,在系统视图下进入该用户接口,设置认证方式和密码:
<HUAWEI> system-view [~HUAWEI] user-interface console 0 [~HUAWEI-ui-console0] authentication-mode password [~HUAWEI-ui-console0] set authentication password cipher Huawei@123 [~HUAWEI-ui-console0] quit [~HUAWEI] saveauthentication-mode password表示Console口使用口令认证,set authentication password cipher设置加密存储的密码。最后一步save非常重要,它会把当前配置写入下次启动配置文件。如果忘了save,重启之后又会回到没有密码的状态,等于前功尽弃。
密码本身建议设置复杂一些,至少12位以上,包含大小写字母、数字和特殊字符。不要再用类似Admin123这种密码。核心交换机的Console口属于最高权限的本地管理通道,密码泄露出去了,等于把整个网络的核心管理权限交给了别人。
3. 核心环节的底层逻辑与关键差异
3.1 BootROM清除密码和空配置启动的本质区别
很多人在论坛上看到类似“启动选择default mode重置密码”的做法,以为和清除密码选项是一样的,其实大错特错。这里给你把两个方案的本质区别讲透。
Boot with default mode是让设备忽略flash上的配置文件,用一套出厂默认参数启动。启动后你会发现所有接口都处于down状态,所有VLAN都没了,设备名称也变回默认的HUAWEI。看起来你可以随便配置了,但你的原始业务配置还躺在flash里。如果你直接在这套空配置上重新配完所有业务,再执行save,你就会把原始配置文件覆盖掉,整台设备几百上千条配置从此消失。
而Clear password for console user这个选项,只修改认证相关的参数,不碰其他配置,业务配置原封不动保留。所以能用这个选项的时候,永远优先用这个,千万别图省事选default mode。
我在实际运维中见过两次因为误选default mode导致核心交换机配置被覆盖的事故,恢复配置的方式只能是通过之前导出的配置文件。要是没有定期备份配置的习惯,这种事故基本等于要重新搭建整个网络,工作量巨大。
3.2 S7700与其他华为交换机的流程差异对比
华为的交换机产品线很丰富,S7700属于高端框式交换机,S5720、S5730、S5735这些属于盒式接入交换机。这些设备的密码重置流程整体思路一致,但在细节上有差异。
| 对比项 | S7700(框式) | S5720/S5730(盒式) |
|---|---|---|
| 进入BootROM方式 | Ctrl+B,窗口3-5秒 | Ctrl+B,窗口略长 |
| BootROM密码 | 部分版本需要输入 | 多数版本默认空 |
| 菜单项差异 | 选项较多,需注意选择 | 相对精简,容易辨识 |
| 主控板影响 | 必须接主用主控Console口 | 无此概念 |
S5720这类盒式交换机的进入BootROM时间窗口会稍微长一点,对操作者更友好。S7700因为是框式设备,启动过程中各板卡的初始化顺序更复杂,BootROM菜单出现的时间节点和提示方式会有些不同,操作时要更专注。
另外,华为路由器产品线,比如AR系列和USG系列防火墙,登录密码重置的思路也很接近,也是通过BootROM菜单(路由器上叫BootROM或者BootLoad菜单)来清除密码。有过一次S7700的实际操作经验,再遇到华为其他设备,思路是可以直接迁移的,只是在菜单文字和选项编号上会有些差异。
3.3 带外管理口与Console口的关系
提一个和密码重置紧密相关的概念:带外管理口。S7700的主控板上除了Console口,一般还会有一个带外管理网口(MGMT口),它是独立于业务转发平面的管理通道,专门用来远程管理设备。
很多公司的网络设备管理都规划了带外管理网络,SSH到管理地址可以登录设备。如果你的密码忘了,但SSH管理通道还能通,你就根本不需要Console密码重置这么麻烦的操作,直接通过SSH登录进去改密码就行。
不过实际操作中,密码遗忘通常意味着所有远程管理通道都失效了:SSH密码不知道、Telnet也登不进去、Web管理页面进不去,这时候带外管理口也帮不上忙。这也是为什么Console口被称为“最后一根救命稻草”,它是唯一不依赖网络配置和认证服务的物理通道。日常运维中Console线要常备,并且要定期测试Console口可用性,别等需要的时候才发现线材坏了或者驱动有问题。
4. 常见问题与排查技巧实录
4.1 终端窗口无输出或显示乱码
这是最常遇到的问题。Console线连接好、设备上电后,终端窗口一片空白,或者出现一堆乱码符号。
空白窗口通常有四个排查方向:一是串口号选错了,USB转串口的虚拟COM口号可能不是你预期的那一个,去设备管理器里重新确认;二是波特率不对,怀疑设备参数不是9600,实际华为设备默认就是9600,但也可以尝试19200、115200等常见值交叉验证;三是Console线本身有问题,线材内部的接线定义不标准或者断路,这种情况换一根线试试即可;四是接错了主控板的Console口,S7700双主控环境下,你接在了备用主控板上,而备用主控板处于异常状态,不会有输出。
乱码的情况一般就是波特率不匹配,或者终端软件编码设置不对。把波特率统一调到9600,编码调整为UTF-8后重新连接,基本可以解决。
4.2 Ctrl+B按不进BootROM菜单
正常情况下,上电启动过程中会出现Press Ctrl+B的提示,但有些时候,回车直接进入系统,或者提示一闪而过,根本来不及按。
造成这个问题的原因有三个:第一个是你的USB转串口线响应延迟,按键信号还没到达设备,BootROM窗口已经过去了。解决方法是使用驱动更成熟、延迟更低的线材,CH340的线通常比杂牌PL2303的线稳定。第二个是按键时机不对,不要看见Press提示才按,要在设备重启之前就一直连发。第三个是部分版本的提示文字是Press Ctrl+B to enter BootROM menu,但是大小写或者断句的位置容易让人误解,实际检测按键的窗口从设备上电那一刻就开始了,所以要提前连按。
还有一个技巧:如果设备在主备主控框式架构下,连接的主用主控板如果出现硬件故障,BootROM菜单可能不会正常弹出,这时候需要尝试连接备用主控板的Console口,看看输出情况。千万别在板卡故障的时候反复重启设备,容易加重硬件问题。
4.3 密码清除后重启又恢复原状
这是很多人操作完之后的困惑:BootROM里清了密码,重新配置了新密码,也执行了save,但过了一段时间再登录,发现密码又变回旧的或者设备又锁住了。
排查思路要分两层。第一层:确认save是否真的成功了。执行save后,系统会提示确认文件名,如果文件名指向的是当前启动配置文件,就会覆盖写入。有些版本在save时会询问是否覆盖,直接输入Y确认即可。第二层:check配置文件内容确实包含了新密码。执行display current-configuration | include authentication,看看Console口的认证配置是不是你想要的结果。
还有一层容易被忽视的因素是配置回滚机制。S7700如果配置了定时自动保存或者配置回滚,你在修改过程中触发了回滚,配置会被恢复到之前的版本。这个情况比较少见,但也不是没有可能。如果遇到,检查一下系统的配置保存策略,确认没有启用自动回滚功能。
4.4 修改Console密码后远程登录失效的处理
这是一个非常坑的情况,但很多人都会遇到。你为了重置Console密码,重新配置了Console认证,然后通过SSH或者Telnet远程登录测试,发现远程也登不上去了。
原因在于部分环境里的远程登录认证方式和Console是联动的,尤其是一些版本在配置AAA认证时,会把Console认证一并绑定到AAA域上。你在重新配置Console密码时,如果不小心把认证方式从AAA改成了本地密码,远程登录的认证源也跟着变了,远程用户不知道新密码,自然登不上。
这种场景下的处理方式是:Console本地密码和远程管理密码分开配置,Console走本地密码,VTY(远程虚拟终端)走AAA认证或独立密码。不要为了图方便让Console口和VTY共用一套密码体系。特别是核心交换机,Console口密码是应急通道,VTY密码是日常管理通道,分开管理能减少单点风险。
4.5 常见问题速查表
| 问题现象 | 直接原因 | 解决思路 |
|---|---|---|
| 无任何输出 | 串口连接错误或线材故障 | 换线、核对端口号、确认主控板 |
| 输出乱码 | 波特率不匹配 | 统一9600,检查编码 |
| Ctrl+B进不去 | 按键延迟或时机不对 | 提前连按,换低延迟线材 |
| 密码清了又出现 | 未执行save | 重新配置后必须save |
| 远程登录失效 | 认证方式联动 | 本地和VTY认证分开配置 |
| BootROM密码忘了 | 前管理员修改过 | 联系华为技术支持或查看交接文档 |
5. 实操后的经验心得与建议
5.1 操作过程中的几条实战经验
整个过程操作下来,有几个细节值得单独拿出来说一下。
有一个特别容易忽略的点是:你在BootROM菜单里清除密码之后,设备会重启一次,这次重启后会进入正常系统,但此时Console口完全没有任何认证。很多人在这个时刻松懈了,觉得反正自己坐在设备面前,没有人能接触到Console口,结果就去忙别的了。如果是机房环境,恰好有其他运维人员或者厂商工程师在场,那设备就相当于门户大开,任何人都可以操作。正确的做法是:设备起来后立刻放下手里的其他事情,先配置一个新密码,再去做其他检查。
另外一个经验是,S7700的框式设备在做密码重置之前,最好先观察一下主控板的状态灯。如果主控板有异常告警,比如系统运行灯不亮或者闪烁频率异常,先把硬件问题解决了再说。在一个异常的主控板上做重启操作,风险系数会高很多。
还有一个小工具层面的建议:准备一根质量靠谱的USB转Console线,同时在不同的电脑上各装一份终端软件免安装版。这样即使你的主力电脑出问题,备用设备也能顶上,不会因为工具问题耽误了生产设备的检修窗口。
5.2 密码管理与运维规范方面的建议
密码重置这件事,虽然本质是个恢复操作,但它暴露出来的问题其实是密码管理制度的缺失。一个健康的运维体系,不应该依赖这种应急手段来维持日常运行。
我建议针对网络设备的Console密码和特权模式密码,至少建立以下几项规范:密码分级管理,Console密码、VTY密码、特权使能密码分开设置,不使用同一套密码;定期更新密码,比如半年一次;密码变更后同步更新密码管理平台的记录;重要设备(尤其是核心交换机和防火墙)的Console密码必须封存信封放在机房保险柜,或者存储在加密密码管理工具中,由至少两名管理员共同知晓。
再补充一点关于配置备份的执念:S7700这种核心设备,至少要定期备份配置文件到独立的FTP/SFTP服务器,同时在有配置变更后立即备份一次。遇到密码遗忘的问题时,如果手头有一份最新的配置文件备份,重置完密码后可以直接对照备份检查配置是否完整,比裸奔状态安心得多。
5.3 从这次操作场景延伸的一些排查思路
S7700的密码重置看起来就是一个孤立操作,但实际上它往往是你发现设备管理漏洞的契机。比如,你在重置密码的过程中发现无法通过SSH登录设备,排查下去发现是SSH密钥过期了,顺手把SSH服务也加固一下,这就是一次意外收获。
再比如,你可能通过这次操作注意到S7700的管理面只有Console口和MGMT口,没有配置独立的带外管理地址,这意味着远程管理只能依赖业务网络,业务网络一旦出问题,设备管理入口也没有了。这种架构隐患如果不借助这次操作机会发现,后续真的遇到问题时就会手足无措。
所以我不建议把密码重置当成一个点上的操作来对待,而是建议把这次机会利用起来,把设备的管理面整体梳理一遍。Console口密码重置只是起点,设备管理的可达性、认证可靠性、审计可追溯性,这些才是真正值得投入精力建设的内容。
按这个思路操作下来,S7700的Console密码重置并不难,难的是操作之前的风险评估和操作之后的收尾工作。只要把准备工作做足,过程环节不毛躁,这个流程对你来说就是一次很普通的运维操作。希望这篇文章能帮你在真正面对这个问题的时候从容一些。