1. 当console口敲回车没反应问题到底出在哪设备机柜里那台锐捷交换机已经跑了三年多某天网络割接需要改配置你翻出console线接上终端软件里敲回车——一片死寂。换波特率、换线序、换终端软件折腾半小时才反应过来不是线的问题是console密码早就没人记得了。这种情况在中小型网络运维里太常见了尤其是那些交接了好几轮、文档早就丢失的老设备。锐捷交换机的console密码重置本质上不是破解而是利用设备启动阶段uboot引导程序提供的维护入口在操作系统加载之前把配置清掉或者跳过认证。这个操作窗口非常短通常只有几秒钟而且不同型号的锐捷设备进入uboot的方式、可用的命令、超时行为都不一样。我见过太多人卡在按了CtrlC没反应或者进了uboot但命令不认这两个环节上。这篇内容适合三类人看一是手头正好有一台console密码丢失的锐捷交换机需要紧急恢复的运维人员二是想提前搞清楚这套流程、避免真出事时抓瞎的网络工程师三是对交换机启动流程和uboot机制感兴趣、想弄明白底层原理的技术爱好者。我会把整个流程拆成可复现的步骤重点讲清楚那些文档里不会写的超时陷阱和型号差异让你在机柜前不至于手忙脚乱。需要提前说明的是重置console密码会清空设备配置或者至少需要重新加载配置如果这台设备还在承载业务务必先确认业务可以中断或者提前做好配置备份。这不是一个可以无损完成的操作心里要有数。2. 动手之前必须搞清楚的几件事2.1 console密码和enable密码不是一回事很多人把这两个概念混在一起。console密码是物理接入设备时终端软件弹出的认证口令enable密码是从用户视图进入特权视图时需要的口令。uboot重置流程主要解决的是console登录认证的问题但清空配置之后enable密码通常也会一并恢复默认或者被清除。所以重置之前要明确你到底是被挡在console登录界面外面还是能登录但进不了特权模式。前者需要走uboot流程后者如果记得console密码其实可以通过其他方式恢复不一定非要动uboot。2.2 不同型号进入uboot的按键和时机差异很大锐捷的交换机产品线很杂从早期的RG-S2600系列到后来的RG-S2910、RG-S5750、RG-NBS系列uboot的进入方式并不统一。常见的有以下几种型号系列进入uboot方式提示信息特征RG-S2600/S2900早期启动时按CtrlC出现uboot提示符RG-S2910/S5750启动时按CtrlB或Esc出现boot menu菜单RG-NBS系列启动时按CtrlC直接进入uboot命令行部分新平台启动时按任意键出现U-Boot版本信息关键问题是这个按键窗口往往只有2到3秒而且串口终端软件在设备刚上电时可能还没完成初始化等你看到输出再按键就已经晚了。我的做法是先把终端软件打开、串口连接好然后给设备上电同时手指放在按键上一看到第一个字符输出就开始连续按。2.3 波特率和终端软件的坑锐捷console口的默认波特率是96008位数据位1位停止位无校验无流控。这个参数在绝大多数型号上都适用但有个别老设备或者被改过配置的设备可能用了115200。如果你接上去全是乱码先检查波特率。终端软件方面SecureCRT、PuTTY、Xshell都可以但要注意流控一定要关掉否则可能出现按键无响应的情况。另外有些USB转串口线尤其是便宜的杂牌线在设备上电瞬间会有电平抖动导致终端软件收到一堆垃圾字符建议用FTDI芯片的线稳定性好很多。提示操作前把终端软件的日志记录功能打开uboot阶段的输出信息对判断问题非常有价值事后回看能省很多事。3. 完整重置流程从接线上电到密码清空3.1 物理连接与终端参数确认先把console线接好。RJ45那头插交换机console口USB那头插电脑。在设备管理里确认串口号比如COM3。打开终端软件新建串口连接参数设置如下波特率9600数据位8停止位1校验None流控全部关闭这一点最重要RTS/CTS如果开着很多USB转串口线会出问题连接建立后终端窗口应该是空白的。此时给交换机断电再上电观察是否有启动信息输出。如果没有检查线序和串口号如果有乱码检查波特率。3.2 抓住uboot窗口期设备上电后终端会开始输出启动信息。不同型号的输出内容不同但通常前几行是uboot版本、内存信息、Flash信息等。你要做的是在这个阶段按下对应的组合键。以最常见的CtrlC为例操作节奏是这样的上电后终端开始出字符立刻按住Ctrl键不放然后连续按C键大概每秒两三次的频率持续五六秒。如果成功会出现类似这样的提示uboot或者进入一个菜单Boot Menu 1. Boot from flash 2. Boot from tftp 3. Enter uboot console Please select:如果是菜单选进入uboot console那一项。如果是直接出现uboot提示符说明已经进去了。这里有个细节有些型号在uboot阶段会有倒计时比如Press CtrlC to enter uboot in 3 seconds这个倒计时走得很快而且串口输出可能有延迟你看到的时候实际已经过了1秒多。所以不要等看到提示再按要从上电开始就一直按。3.3 uboot下的密码清除命令进入uboot命令行后不同型号可用的命令不一样。常见的操作有以下几种方式一直接清除配置uboot reset config或者uboot erase startup-config执行后会提示确认输入y回车。这个操作会把启动配置文件清掉设备下次启动时以空配置运行console密码自然就没了。方式二跳过密码启动部分型号支持uboot boot flash skip-auth这个命令让设备正常启动但跳过认证启动后可以进入系统重新设置密码。不过这个方式不是所有型号都支持而且启动后配置还在只是绕过了登录验证。方式三修改启动参数有些uboot版本可以通过修改bootargs来跳过密码uboot setenv bootargs ${bootargs} skip_password uboot saveenv uboot boot这种方式比较少见而且不同版本的参数名可能不同不建议作为首选。实际操作中最稳妥的是方式一直接清配置。清完之后uboot boot让设备正常启动。启动完成后console登录应该就不需要密码了或者使用默认密码通常是空或者admin/admin具体看型号。3.4 启动后的收尾工作设备起来之后别急着走。先确认几件事用默认凭据登录console确认能进。进入特权模式检查配置是否确实被清空了show running-config。如果之前有备份配置这时候可以通过TFTP或者console粘贴的方式恢复但恢复之前先把console密码和enable密码重新设好。如果设备需要重新配置趁这个机会把基础配置管理IP、远程登录、SNMP等一并做了。注意清空配置后设备的管理IP、VLAN配置、路由协议全部丢失。如果这台设备是远程管理的清完之后你就只能通过console现场操作了所以务必确认你人就在设备旁边。4. 那些让人抓狂的超时问题和型号差异4.1 按键窗口太短怎么办这是最常被吐槽的问题。锐捷部分型号的uboot进入窗口只有1到2秒而且串口输出有缓冲延迟等你看到提示再按根本来不及。我的应对策略是盲按终端软件先连好设备上电的瞬间就开始连续按组合键不要等任何提示。具体节奏是上电后立即开始按保持每秒2到3次的频率持续10秒。如果10秒后终端出现了正常的系统启动日志而不是uboot提示说明没进去断电重来。还有一个技巧部分终端软件支持发送字符串功能可以设置一个按键序列在连接建立后自动发送。你可以把CtrlC配置成连接后自动重复发送这样设备一上电就会被持续按键。SecureCRT的Send String功能或者PuTTY的Auto-login都可以实现类似效果。4.2 不同型号uboot命令不通用我遇到过最坑的情况是按照网上的教程在uboot下敲了reset config结果提示Unknown command。换了一台同品牌的另一型号同样的命令就能用。锐捷的uboot版本跨度很大早期基于私有bootloader后期部分产品线用了U-Boot。判断方法很简单进入uboot后敲help或者?看系统列出哪些命令。常见的命令集有reset config/erase startup-config清除配置boot/boot flash从Flash启动setenv/saveenv设置和保存环境变量printenv查看环境变量tftpboot从TFTP服务器加载文件如果help出来的命令很少可能是一个精简版的bootloader这时候只能尝试boot直接启动看是否跳过密码或者联系厂商获取专用工具。4.3 超时后设备自动启动的应对有些型号在uboot菜单界面有倒计时比如5秒不操作就自动从Flash启动。如果你还没来得及选菜单项设备就已经进系统了。这时候只能断电重来。为了提高成功率可以在进入菜单的瞬间先按一下方向键或者空格有些bootloader会因此暂停倒计时。另外如果菜单里有Enter command line之类的选项优先选它因为命令行模式不会自动超时退出。4.4 串口线质量导致的假死这个问题隐蔽性很强。有些USB转串口线在设备上电瞬间会产生电平波动终端软件收到一堆乱码后可能进入某种异常状态表现为按键无响应。你以为是自己没按对其实是线的问题。判断方法换一根FTDI芯片的线试试或者把线插到另一台设备上验证。另外终端软件的缓冲区如果太小大量启动日志可能冲掉你按键的时机把缓冲区调大或者开启日志记录会有帮助。5. 重置之后的安全加固与配置恢复5.1 别再用默认密码裸奔清空配置后设备是空密码或者默认密码状态这时候如果设备接在网络里任何人通过console或者远程都能进去。所以重置完成后的第一件事就是设置新密码。建议console密码和enable密码分开设置并且用强密码。锐捷的配置命令大致是这样的enable configure terminal line console 0 password YourNewConsolePassword login exit enable password YourNewEnablePassword end write如果型号支持还可以配置用户名密码的本地认证方式比单纯的口令更安全。5.2 配置恢复的几种路径如果你之前有配置备份恢复方式取决于备份的格式和你的访问方式TFTP恢复设备起来后配好管理IP通过copy tftp startup-config把备份文件拉下来。console粘贴把备份配置的文本通过终端软件粘贴进去注意粘贴速度不要太快有些设备处理不过来会丢命令。U盘恢复部分型号支持USB接口可以把配置文件放U盘里通过命令导入。恢复之前一定要先确认备份文件里的console密码和enable密码是你知道的否则恢复完又进不去了白折腾。5.3 记录和文档化这次踩的坑下次别再踩。重置完成后把设备的型号、uboot进入方式、可用命令、波特率这些信息记下来放到团队的运维文档里。如果设备多建议做一个表格按型号归类。另外console密码和enable密码设置好之后存到密码管理工具里别只记在某个人脑子里。我见过太多因为人员离职导致密码丢失的情况最后都得走uboot重置这条路。6. 几个真实场景下的经验之谈6.1 堆叠环境下的重置要格外小心如果这台交换机是堆叠环境中的一台清空配置可能会导致堆叠分裂或者成员设备重新选举。操作前最好把堆叠线拔掉单独对目标设备进行重置完成后再重新接入堆叠。否则你可能面对的是一个比console密码丢失更复杂的故障场景。6.2 带外管理口不能替代console有些新型号有独立的带外管理口但带外管理口的认证和console是两套体系。console密码丢了带外管理口未必能进去。而且带外管理口的配置通常也存在启动配置里清空配置后带外管理口也会失效。所以不要指望通过带外管理口来绕过console密码问题。6.3 厂商工具是最后的底牌如果uboot方式怎么都进不去或者命令完全不兼容联系厂商技术支持是最后的办法。锐捷有一些专用的密码恢复工具或者维护版本固件但通常需要提供设备序列号和购买凭证。这个过程比较慢适合不着急的场景。紧急情况下还是得靠uboot这条路。6.4 操作时机的选择重置操作最好安排在业务窗口期比如深夜或者周末。虽然整个过程可能只需要十几分钟但万一遇到意外情况比如uboot进不去、配置恢复失败你需要有足够的时间来排查。不要在业务高峰期干这事压力大还容易出错。7. 关于uboot重置这件事的个人体会干了这么多年网络运维console密码丢失这事我遇到过不下十次每次都是不同的型号、不同的坑。最顺利的一次从接线到重置完成不到五分钟最折腾的一次换了三根console线、试了四种按键组合、翻了两个版本的uboot命令最后发现是终端软件的流控没关。我的建议是平时就把常用型号的console参数、uboot进入方式整理成一张速查表贴在机柜旁边或者存手机里。真出事的时候你不会有心情去翻文档。另外console线买好一点的FTDI芯片的线也就几十块钱比你在机柜前折腾半小时值多了。还有一点重置完成后别急着把设备塞回机柜就走。花五分钟把新密码设好、配置恢复、确认业务正常这五分钟能帮你避免下一次的麻烦。我见过有人重置完密码没设就直接上架结果第二天又被别人改了密码又得重来一遍。最后说个细节有些锐捷设备的uboot在清空配置后第一次启动会特别慢因为要重新初始化Flash文件系统。这时候别以为设备坏了耐心等几分钟通常会正常起来。如果超过十分钟还没动静再考虑断电重启。