☰
华为路由器登录配置实战:从AAA认证到SSH与VTY安全加固
2026/10/2 4:14:21 网站建设 项目流程

路由器登录账号这件事情,看着简单,实际上翻车率极高。我见过太多人拿着华为AR系列或者企业交换机,照着网上零散的帖子敲了几条命令,结果要么是console口能进、Telnet死活登不上,要么是用户名密码明明设了却提示验证失败。更常见的是,只给自己配了个管理员账号,忘了接口登录还要单独开权限,最后远程管理彻底锁死,只能跑机房。这篇文章我打算把这套东西完整捋一遍,从AAA本地认证的原理,到console口、VTY虚拟终端、SSH接入的具体配置,再到接口级别的登录源限制和密码策略加固,一次性说清楚。

1. 登录认证架构:为什么华为路由器的“用户名密码”不是改个密码那么简单

很多刚接触华为设备的人会带着思科或者其他厂商的习惯来操作,以为登录认证就是在某个接口下配一个密码就完事了。实际上华为路由器默认走的是AAA认证框架,哪怕你只用本地用户,也绕不开AAA这个逻辑。

1.1 认识AAA框架和local-user的关系

AAA是Authentication、Authorization、Accounting的缩写,对应认证、授权、计费。家用路由器里你可能只关心WiFi密码,但企业路由器里,系统需要知道三件事:你是谁(认证)、你能干什么(授权)、你干了什么(计费)。华为VRP平台把这三件事抽象成了一套统一的流程,而local-user就是这套流程里“本地数据库”里的用户记录。

你创建一个local-user时,实际上是在路由器的本地存储里写入了一条用户信息,这条信息至少包含用户名、密码、用户权限级别、可使用的服务类型。之后当有人通过console口、VTY虚拟终端、SSH、HTTP等任何方式发起登录请求时,系统会先把请求交给AAA模块处理,AAA模块根据你配置的认证方式决定去哪验证身份。如果认证方式配的是本地认证,AAA就去查local-user这张表,匹配上了就放行,匹配不上就拒绝登录。

1.2 console口、VTYTTY口、SSH分别走的是哪条认证通道

华为路由器的登录通道大体分成两类:物理通道和虚拟通道。Console口是物理通道,你拿串口线直连设备,走的是console通道;Telnet和SSH都是通过虚拟终端线VTY进入的,但是SSH在传输层走了加密,Telnet则是明文。

配置认证方式时,你要分别在这两类通道上指定authentication-mode。这个模式下可以选AAA、Password或者None。家用设备上常见的做法是console口只设个密码、不禁用,但这在企业网络里是不够的。一旦你把认证方式配置成AAA,那么所有登录请求都会送到AAA框架里去验证,此时如果你没有在AAA里配置对应的本地用户、或者本地用户的服务类型里没有包含对应的接入方式,就会被拒绝。

所以很多人遇到的“我明明配了用户名密码,为什么Telnet还是进不去”,十有八九就是忘了把VTY通道的认证模式从默认的Password改成AAA,或者local-user里没加service-type telnet。这两个条件缺一个都不行。

1.3 认证顺序与默认配置的坑

华为设备出厂时,console口的默认认证方式通常是Password,VTY默认也是Password。默认情况下你只能通过console口用密码登录,这密码一般是设备初始密码。但现实里很多二手设备、或者别人交接过来的设备,默认密码早被改过了,你拿默认配置去登是登不上的。更麻烦的是,如果你通过consle口登录设备后,改变了console口的authentication-mode但没保存,重启之后配置丢失,设备又弹回默认密码状态,这时候你反而不知道自己该用哪个密码了。

我自己的习惯是,拿到一台新设备,第一步先把console口密码和VTY密码全部改成自己知道的强口令,第二步再创建AAA本地用户,第三步才切换认证模式。顺序反了容易出现“当前在线会话还在,但新会话已经进不去”的尴尬局面,特别是在远程维护的时候,顺序错了就是事故。

2. 创建本地用户并配置用户名密码的具体操作

标题里说“为华为路由器创建用户名密码”,这个动作落实到命令行上并不复杂,但里面的参数细节非常多。我先给出一套最常见的配置模板,然后再逐行解释。

2.1 基础命令模板与逐行解释

system-view aaa local-user admin password irreversible-cipher Admin@2024 local-user admin privilege level 15 local-user admin service-type telnet ssh terminal http quit

这段配置做了四件事。第一条local-user admin password irreversible-cipher Admin@2024是创建用户admin并设置密码,这里用了irreversible-cipher加密方式,意思是密码在配置里以不可逆密文形式保存,即使你看到配置文件也无法反推出明文密码。第二种常见写法是cipher,这是可逆加密,配置文件里能通过特定算法还原出明文,安全性要差一些,企业环境我建议直接用irreversible-cipher。

第二行privilege level 15是把用户级别提到最高。华为VRP的权限级别是0到15,0级最低,只能看一些基础信息,15级是管理级,可以执行所有命令包括进入系统视图、修改配置、重启设备。如果你给一个普通运维人员配账号,建议给级别1或者级别3,尤其是通过Telnet登录的场景,一旦权限过高、口令泄露,整个网络就裸奔了。

第三行service-type很关键,它决定了这个用户允许通过哪些方式登录。telnet和ssh分别对应远程登录协议,terminal对应console和VTY的本地终端接入,http对应Web管理。如果你漏掉ssh,就算你后面开了SSH服务,这个用户也无法通过SSH登录。

2.2 密码策略:irreversible-cipher、cipher与明文的选择

华为设备在配置密码时提供了三种存储方式:明文直接写在配置里、cipher可逆加密、irreversible-cipher不可逆加密。明文方案只在初期调试时用,比如你在客户现场确认配置内容,会临时敲一条明文密码方便对方查看。一旦设备正式上线,必须改成不可逆加密。

用cipher加密时,配置里的密文很长,但它是可以通过华为的密钥算法逆推的,所以如果你的配置文件泄露,黑客理论上能把密码还原出来。用irreversible-cipher时,设备只保存密码的哈希值,登录时把用户输入的密码做同样的哈希运算,然后比对结果。这个过程类似Linux系统里/etc/shadow文件的处理方式。

实测下来,irreversible-cipher唯一的缺点是配置里不能直接看出原密码是什么,如果忘了只能重置。但这恰恰是它的优点,因为就算配置文件被拷走,也无法还原出明文密码。

2.3 创建多个用户与不同权限级别的管理模型

一个稍微正规点的网络环境,不可能只有一个人管理设备。我建议至少在设备上建三个账号:一个是超级管理员,级别15,用于紧急故障处理和整体配置修改;一个是普通运维账号,级别3到5,可以查看状态、重启接口、查看日志,但不能修改全局配置;最后一个是审计账号,只读权限,用于日常巡检和操作审计。

local-user admin privilege level 15 local-user op privilege level 3 local-user viewer privilege level 1

这三类账号的service-type可以设置成一样的,但建议admin只允许SSH登录,op允许SSH和Telnet,viewer允许Telnet和console,根据实际网络环境灵活调整。权限级别越小,越能减少误操作的概率。尤其是一些级别低的员工,如果你直接给他们15级权限,他们敲一条reset saved-configuration就能把整台设备配置清空,这种事故我见过不止一次。

3. console口、VTY虚拟终端和SSH登录的详细配置

账号建好了,只是完成了第一步。想让这些账号真正能够登录,还需要在每个登录通道上启用AAA认证,并且绑定对应的接入协议。下面分三个场景展开。

3.1 console口认证方式切换与串口登录密码设置

Console口是设备本地管理的重要通道,现场维护、开局配置、救砖都靠它。默认情况下它的认证方式是密码认证,登录时只需要输入密码,不需要用户名。如果你想用刚才创建的admin账号登录console口,就需要把认证方式切换成AAA。

system-view user-interface console 0 authentication-mode aaa idle-timeout 10 0 quit

这段配置里,authentication-mode aaa表示console口登录时交由AAA框架完成认证。登录时你会先被提示输入用户名,再输入密码。idle-timeout 10 0表示空闲10分钟自动断开,防止人走了终端还挂着,被人利用。

需要提醒的是,切换认证方式之前,最好确保你已经有一个能用的本地用户,并且service-type里包含了terminal。否则你敲完这条命令,当前会话还开着,但如果这中间连接断了,你再用console口登录就会因为没有可用用户而无法进入系统。

3.2 VTY虚拟终端配置Telnet登录的过程

VTY是虚拟终端线路,一般的华为路由器支持同时有5个或者更多的VTY通道,分别编号0到4。Telnet登录就是通过VTY通道接入设备的。配置逻辑和console口类似,但多了两个关键点:一是VTY通道本身需要开认证,二是设备需要开启Telnet服务。

system-view telnet server enable user-interface vty 0 4 authentication-mode aaa protocol inbound telnet idle-timeout 10 0 quit

telnet server enable是全局开关,不开的话即使VTY配了认证,外部也无法建立Telnet连接。protocol inbound telnet明确这个VTY通道只接收Telnet协议接入。如果一个VTY通道上同时开了Telnet和SSH,那也会造成安全隐患。

Telnet本身是明文传输,用户名密码在网络里可以被抓包还原,所以我在生产环境里几乎不用Telnet做远程管理。只在隔离的带外管理网里,或者设备之间做临时调试时才开Telnet。更多时候,我推荐直接配置SSH。

3.3 SSH服务器配置与RSA密钥生成

SSH登录需要设备端生成RSA主机密钥,然后开启SSH服务。整个配置分四步:

system-view rsa local-key-pair create

执行rsa key生成命令时,设备会提示输入密钥位数,默认是2048,建议直接用默认值。如果设备上之前已经生成过密钥,系统会提示是否覆盖,选择是即可。

接着启动SSH服务并配置VTY通道:

stelnet server enable user-interface vty 0 4 authentication-mode aaa protocol inbound ssh quit ssh user admin ssh user admin authentication-type password ssh user admin service-type stelnet

ssh user admin这一步实际上是创建一个SSH用户并绑定到本地admin账号上。authentication-type password表示这个SSH用户使用密码认证,如果是做密钥登录,则改成authentication-type rsa,然后把客户端的公钥导入设备。对于绝大多数场景,密码认证加SSH加密传输已经足够了。

配置完成后,用Xshell、PuTTY、MobaXterm等终端软件连接路由器时,SSH端口默认是22,用户名填admin,密码填你之前设置的密码,就能登录了。

3.4 登录协议与VTY通道的对应关系

这里的对应关系是很多新手容易搞混的地方。VTY通道本身并不知道你用的是Telnet还是SSH,它是通过protocol inbound来约束的。如果你把VTY通道配成protocol inbound ssh,那么从Telnet发起的连接就会在该通道上被拒绝,因为协议不匹配。反过来,如果配成Telnet,SSH也会失败。

实际操作中,我倾向于把一部分VTY通道固定给SSH,一部分固定给Telnet。比如VTY 0到1只允许SSH,VTY 2到4允许Telnet,这样可以避免两种协议互相干扰。不过更省事的做法是统一用SSH,然后把所有VTY都配成protocol inbound ssh。

4. 接口登录与源地址访问控制:限制谁可以远程管理

所谓“接口登录”,在华为设备里其实可以指两层含义:一是通过物理接口的IP地址发起登录,二是基于接口上的ACL控制哪些源IP可以访问管理协议。很多教程只讲账号密码,不讲接口访问限制,导致设备暴露在公网上之后,密码被疯狂爆破。

4.1 接口IP地址与VTY通道的关系

路由器的物理接口(比如GigabitEthernet0/0/0)只要配了IP地址,并且接口状态是Up,那么从该接口就可以发起Telnet或SSH连接。设备在收到远程登录请求后,依据请求的目的IP确定进入的是哪个接口,然后查询对应的VTY通道是否有空闲资源,最后执行认证。

如果你不想让某个接口提供远程管理入口,可以把接口IP去掉,或者在该接口上配置ACL来阻断管理协议的流量。但生产环境中,你通常需要保留一个管理IP用于远程维护,所以更常见的做法是:用ACL限定只允许特定的源IP访问,而不是完全关掉接口。

4.2 基于ACL的登录源地址过滤

配置ACL控制管理协议访问,是华为设备上最实用的安全手段之一。比如你办公室出口IP是100.100.100.100,只允许这个IP远程登录设备,就可以这样配:

acl number 2001 rule 5 permit source 100.100.100.100 0 rule 10 deny quit user-interface vty 0 4 acl 2001 inbound quit

这条配置的逻辑是:先创建一个基本ACL,序号2001,规则5放行源IP为100.100.100.100的流量,规则10拒绝其余所有源IP,最后把ACL绑定到VTY通道的入方向。这样只有你办公室的IP能发起登录,其他IP一律被挡在门外。

同样的方法也可以用在Telnet和SSH的全局配置上,通过acl配合traffic-filter或者packet-filter实现接口级过滤。但更简洁的还是在VTY通道上绑定ACL,一旦会话建立,后续的管理流量都会经过这个通道。

4.3 配置源地址过滤时的常见错误

ACL绑定到VTY后,很多人会立刻用当前会话去测试,发现当前会话没有掉线,就觉得配置生效了。但如果你换一个IP去连,同样会被拒绝,这才是ACL生效的正常表现。还有人在ACL里只写了permit规则,忘了deny,结果ACL默认末尾会有一个隐含的deny规则,实际上其他IP还是会被拒绝,但如果你在ACL里写了rule 5 permit之后又写了rule 10 deny,顺序反了会导致误杀。

另外需要注意,华为设备的ACL匹配顺序默认是配置顺序,不是自动按最小匹配范围排序,所以规则之间的先后顺序非常关键。permit规则一定要放在deny规则之前,否则你的合法IP也会被拒绝。

5. 密码策略、登录失败锁定与安全加固

配好账号密码、打开接口登录通道之后,还需要关注密码生命周期和账号安全问题。华为VRP平台提供了不少安全策略,但默认很多是不开启的,需要手动配置。

5.1 密码复杂度与老化策略配置

华为设备的密码复杂度策略通过password policy来管理。可以设置最小密码长度、必须包含的大小写字母和数字、以及密码不可与用户名相同等规则。

system-view aaa password policy password complexity-check enable password min-length 10 password expire 90 password history 5 quit quit

password complexity-check enable开启复杂度和用户名联动检查,password min-length 10要求密码至少10位,password expire 90表示密码90天后过期,password history 5表示新密码不能和最近5次的旧密码相同。这些都是企业合规审计里比较常见的基线要求,配置后可以有效减少弱口令风险。

5.2 登录失败锁定与防暴力破解

暴力破解是远程管理服务面临的最大威胁。华为路由器支持配置登录失败锁定功能,具体命令在aaa视图下:

local-user admin failed-times 3 lock-time 5

这条命令表示账号admin连续登录失败3次后,自动锁定5分钟。锁定期间即使密码正确也无法登录,5分钟后自动解锁。实际使用中,这个功能对防止字典攻击很有效,但也要小心:如果运维人员自己忘了密码,连续输错3次会被锁5分钟,反而拖长了排障时间。

如果你管理的是多台设备,建议锁定时间不要设置太长,5到10分钟比较合适。锁定时间太长,真出了问题反而影响应急处理。

5.3 登录超时与并发会话限制

业内对设备管理有一个默认共识:用完必须退出。很多设备被入侵,都是因为管理员登录后忘了注销,终端挂着,被路过的人顺手操作了。华为设备上的idle-timeout命令可以配置空闲超时时间,上面的例子里配的是10分钟,你可以根据网络管理要求改成5分钟或者15分钟。

并发会话方面,user-interface vty 0 4定义了5条虚拟终端通道,意味着最多允许5个远程会话同时在线。如果你发现设备被多个管理员同时登录导致配置冲突,可以适当减少user-interface的数量,比如只保留3个通道,并且把其中两个固定给SSH。

6. 登录不上设备时的排查链路:从底层到上层逐层确认

这一部分我根据自己的排障经验,总结了最常见的登录失败场景和排查思路。如果你按前面的配置做了还是登录不上,可以顺着这个顺序逐层检查。

6.1 第一步:检查网络连通性与端口状态

先确认终端到路由器的管理IP能否ping通。如果ping不通,检查接口IP是否配置正确、接口是否被shutdown、中间是否有防火墙拦截了ICMP和对应端口。

如果ping通了,用telnet命令测试端口是否开放。Windows下可以用telnet 192.168.1.1 22测试SSH端口,或者telnet 192.168.1.1 23测试Telnet端口。如果端口都开不了,大概率是全局服务没开启,比如telnet server enable或者stelnet server enable没有执行。

6.2 第二步:确认认证方式是否真的切到了AAA

很多人配置了local-user,但忘了改VTY通道的authentication-mode,导致VTY还在用默认的密码认证。此时你输入用户名密码,系统根本不会去查local-user表,而是拿你输入的内容去匹配VTY上的密码,结果当然失败。

这一条非常隐蔽,建议直接执行:

display current-configuration configuration user-interface

查看所有VTY通道的配置,确认每一行都是authentication-mode aaa。如果发现是authentication-mode password,立刻切换。

6.3 第三步:核对用户权限和服务类型

如果认证模式已切换,仍然登录失败,就要看local-user的配置了。执行display local-user查看用户列表,确认目标用户名存在。然后重点检查service-type里是否包含了对应的接入方式。

比如你用SSH登录,但service-type里只写了telnet和http,没有ssh,那SSH认证一定失败。这个问题在命令行上不报错,但是登录时系统直接拒绝,很难一眼看出原因。我建议创建用户时,把所有将来可能要用的服务类型都写全,避免临时加配置翻车。

6.4 第四步:抓包与日志分析

如果以上三层都没问题,那就要看设备内部日志了。在设备上执行:

display logbuffer

查看最近是否有认证失败记录,比如Authentication failed或者VTY login failed,这些日志会直接告诉你失败的原因。如果日志里出现了The user has been locked,说明账号被锁定了,等锁定时间过后再试。

更精细的排查可以用debugging aaa命令查看AAA认证的详细过程。不过这个命令会输出大量调试信息,生产环境里建议在维护窗口执行,用完及时关闭,避免日志刷爆设备。注意,华为VRP的debug经过30秒左右没有输出会自动暂停,需要反复执行来持续观察。

7. 从实战角度补充几条配置经验

最后聊几个我在项目里遇到的具体问题,这些细节教科书写得少,但实际运维时特别容易碰到。

7.1 设备型号不同,默认配置就不同

华为AR系列路由器和S系列交换机,虽然底层都是VRP平台,但默认配置文件里的VTY数量、默认认证方式可能会有细微差别。AR路由器默认VTY是0到4,部分交换机是0到14。配置前最好先执行display user-interface,看看当前设备支持哪些VTY通道以及当前认证模式。

7.2 保存配置是最后一步

前面所有配置在退出system-view之后,只是写入了运行配置,一旦设备重启就会丢失。务必执行:

save

系统会提示是否保存配置,输入y确认,回车即可。如果设备有主备两块主控板,还需要把配置同步到备用主控板上,否则主控切换后配置就丢了。

7.3 把SSH作为首选远程管理协议

Telnet虽然简单,但密码明文传输这一条就足够让人放弃它了。只要是能开SSH的设备,我都建议用SSH做远程管理。配置起来并不复杂,就是在VTY通道上把protocol inbound改成ssh,再开启stelnet server enable。

7.4 密码不要写在设备配置文件的明文里

有的客户喜欢在配置里用明文写密码,方便自己查看,但这种习惯等于把门钥匙挂在锁旁边。若配置文件被截图或者备份文件泄露,整个网络的安全边界就不存在了。配置完成后可以用display current-configuration检查一下,确认密码在配置里都是irreversible-cipher加密的状态。

8. 写在最后的个人体会

我最初在华为设备上配置登录认证时,也犯过不小的错误。有一次远程维护一台客户的路由器,为了方便直接把VTY认证方式改成了AAA,结果忘了本地用户里没有把service-type加上SSH,导致自己也被锁在了外面。当时人在外地,只能联系客户现场的同事帮忙从console口进去补救,折腾了一个多小时,脸红得很。从那以后,我总结了一条铁律:凡是远程维护设备,改任何认证相关配置之前,必须先在当前会话里开一个备用通道。要么保留一个console连接,要么确保两条VTY通道里有一条约好的SSH通道,确认无误后才动手改配置。

后来我把这套配置流程固化成了checklist,每拿到一台新设备就按这个顺序走一遍。建好用户、定好密码、切认证、开SSH、绑ACL、设超时、设锁定、保存配置,整个过程不到十分钟。一次配置到位,后面几年基本不用再动。

网上关于华为路由器的配置资料很多,但很多都是摘抄官方文档,不够细化,也不够贴近实战。我写这篇文章,就是想把“为华为路由器创建用户名密码及接口登录详细配置”这个看似简单的任务背后的所有细节挖出来,让看到这篇文章的人少踩一些我踩过的坑。如果你在配置过程中遇到其他问题,不妨顺着上面的排查思路一层层查,大概率能找到原因。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询