Cisco路由器中Telnet, Console, AUX口login命令的含义
我在很多CISCO的论坛,例如"菊花"、"CCIE实验室"、"chinaitlab"看到很多人询问这个问题,但是下面给出的答案层出不穷,但没有一个能够给出确切的答案,大多数都是似是而非,告诉你"加上就没错",这算什么...
我去CISCO的Document查了一下资料,发现其实CISCO早就解释了这个问题,这里我明确用中文解释一下。
Document ID: 45843
To specify a password on a line, use the password command in line configuration mode. To enable password checking at login, use the login command in line configuration mode.
Under the line console configuration, login is a required configuration command to enable password checking at login. Console authentication requires both the password and the login commands to work.
要在一个line上定义密码,需要在全局配置模式下使用password命令,而且需要使用login命令来启用登录时密码检查机制。
在line console的配置下,使用login命令启用登陆密码检查机制是必须的,console口的认证需要password命令和login命令共同使用才能生效。
PS.后来查到一点,有一些特殊版本的VTY会自动在最后增加login命令,这也是一些人提出不敲login命令也可以生效的缘故,但我还是建议按照CISCO官方要求,password命令和login命令共同使用。
login 与 login local的区别
no login 不需要输入密码直接进入用户模式
login是开启远程登录密码验证
login local不仅要求提供密码,还要求提供用户名才可以登录。
如果同时设置了login和login local, login local将优先于login,也就是说login local生效。
- CQ-YB-R3640-001(config)#line vty 0 4 # 启用vty线路,允许0-4共5条线路
- CQ-YB-R3640-001(config-line)#password cisco # 配置密码
- CQ-YB-R3640-001(config-line)#login # 启用身份验证
- CQ-YB-R3640-001(config-line)#
login的意思是启用身份验证,如果忘了执行命令login,那么将不进行身份验证,是可以直接登录的,即使设置了密码。
举个很形象的例子吧:假设我有一道防盗门,需要验证密码才能打开,我现在对其设置了密码,但是我并没有启动防盗门验证密码的机制(没有给密码验证器 加电),所以大家都可以打开了。
CQ-YB-R3640-001(config)#line vty 0 4
CQ-YB-R3640-001(config-line)#login local # 注意这里变为: login local
当我们再次使用 telnet 连接时,会提示输入 Username:
User Access Verification
Username: admin
Password:
此时,我们应该还需要提供用户名才可以,下面给出完整的配置
配置过程
1、在全局配置模式下,配置允许对路由器访问的用户名及密码
CQ-YB-R3640-001#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CQ-YB-R3640-001(config)#username admin password cisco
2、切换到线路配置模式,并开启本地验证
CQ-YB-R3640-001(config)#line vty 0 4
CQ-YB-R3640-001(config-line)#login local
3、退出配置模式
CQ-YB-R3640-001(config-line)#end
CQ-YB-R3640-001#
*Mar 1 01:52:51.283: %SYS-5-CONFIG_I: Configured from console by console
4、检查配置
- CQ-YB-R3640-001#show running-config
- Building configuration...
- !
- username admin password 0 cisco
- !
- !
- line vty 0 4
- login local
- !
5、测试此配置,必须通过telnet远程连接路由器。
- Slyar-route(config)#line console 0
- Slyar-route(config-line)#password slyar.com
- Slyar-route(config-line)#login
- Slyar-route(config-line)#exit
- Slyar-route(config)#line vty 0 4
- Slyar-route(config-line)#password slyar.com
- Slyar-route(config-line)#login
- Slyar-route(config-line)#exit
类似的命令都很熟悉了,不过这里的"login"是什么意思呢?有人会问console口也需要"login"么?