为了账号安全,请及时绑定邮箱和手机立即绑定

跪求解释,为何ssh登陆密码不正确?!

跪求解释,为何ssh登陆密码不正确?!

jeck猫 2019-02-14 15:11:58
跪求高手解释,为何ssh登陆密码不正确?!
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

不过还是告诉你真正的原因好了= =

缘起...请上网找寻Cisco的文件编号: 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.

里面解释了这件事...

首先你要知道
login是做啥用的
在Cisco设备上的解释是 Enable password checking
(你用? 去看设备上login的解释)
表示在...启用密码检查(当登入时,在这条连线上启用密码认证)

而loing local当中的local是何意思呢?
请看设备上的解释... local Local password checking
表示使用本机上的密码作认证

那重点来了...
line vty 0 4
login
transport input ssh
transport output none
通过远程ssh总提示密码不对

因为你只下了login
告诉switch在line vty 0 4启用密码验证
但是...问题是...你没有告诉它用何种方法来验证?
所以你即便输入了正确的密码....它还是告诉你『密码不对』
因为它没有一个依据来跟你输入的密码作比对,所以...你永远只会得到....密码不对
正确密码 & null 得到得结果还是Fail(密码错误)
空白密码 & null 得到得结果还是Fail(密码错误)
布林代数)

那...这个为何成功?
line vty 0 4
login local
transport input ssh
transport output none
之后,马上就可以了。密码已经确认过没有问题

关键很明显就在这里...login local
你明确的告诉Switch当有人用这条线路line vty 0 4登入时,使用本机的密码作为认证方式
正确密码 & 正确密码 =True
布林代数)
但还有一个关键...你没有下login这个命令
我前面有提到...
下了login,就是告诉switch在line vty 0 4启用密码验证
所以正统的作法其实是...
line vty 0 4
login
login local
transport input ssh
transport output none

但是...後来Cisco考虑到人性的懒(讲好听叫...人性化)
在IOS上加入了这项功能
当使用者不敲login命令时,系统会自动帮login给加进去
虽然你只打了login local
但系统会自动帮你补上login(启用密码验证)这条命令

因此你使用
line vty 0 4
(login)←系统会自动帮你补上
login local
transport input ssh
transport output none
是可行的

但是...使用
line vty 0 4
login
(它不会自动帮你补上login local)
transport input ssh
transport output none
是万万不可行的

这样的解释我猜你懂了^^

可惜...我不是高手(因为我没有任何Cisco的证照)

注意:不是每个版本的IOS都会自动帮你补上login喔



查看完整回答
反对 回复 2019-03-07
  • 1 回答
  • 0 关注
  • 3293 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信