永发信息网

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

答案:3  悬赏:70  手机版
解决时间 2021-03-23 09:08
  • 提问者网友:焚苦与心
  • 2021-03-22 23:21
跪求高手解释,为何ssh登陆密码不正确?!
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-03-23 00:39
你给的悬赏分有点低...

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

缘起...请上网找寻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喔
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-03-23 02:44
相当于打开了本机的SSH登录端口
  • 2楼网友:荒野風
  • 2021-03-23 01:58

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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯