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"么?

我在很多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 Home (www.slyar.com

参考:

http://www.slyar.com/blog/cisco-line-console-vty-login.html