想要了解enable password 7与enabled secret 5的区别,首先了解service password-encryption开关选项的功能,它是指我们是否要采用cisco的私有加密方式把密码字符串存储在设备中,所以当我们在设置vty、console和aux端口密码的时候,如果开启service password-encryption功能,在show run的时候会发现在这些方式的password后面都跟有一个数字7,这个数字7就表示是采用了cisco的私有加密算法存储了密码串,它这个是可以逆转的。当然,我们在交换机/路由器上敲入:no service password-encryption这条命令,是不可能直接还原密码原文的,而是指可通过其他办法解密。
选项
功能
service password-encryption
对最终的“密码串”使用cisco私有加密方式存储
no service password-encryption
对最终的“密码串”原文存储
至于enable password,在交换机/路由器下面输入这个命令:enable password ?后面会出现如下:
输入:enable secret ? 则出现:
这里可以这样理解:
0
输入时的密码串为密码明文,输入时没有经过任何方式的加密
5
输入时的密码串为使用MD5方式加密后的字符串
7
输入时的密码串为使用Cisco的私有算法加密后的字符串
LINE
清除enable的加密密码
level
设置不同等级的密码
enable password 0 后面可以直接跟加密的内容,这个命令和enable password 一样。
enable password 7后面必须要跟你加密的密码经过思科私有算法出来那个数值。比如,你想把这个密码设置成cisco,那么,你得必须先使用思科的私有算法算出cisco是多少,这里cisco使用思科的算法是060506324F41。
如果我要设置的密码为cisco,可以这样设置:
enable password 0 cisco
或者:
enabled password 7 060506324F41
如果使用enable password 0 cisco命令,且没有启用service password-encryption功能时,这时show run看下,则可显示密码明文cisco。
至于enable secret ,很多人都不知道0和5的区别,或者误认为0 是不加密密码,5 则是加密密码。其实对于Secret 选项来说,密码肯定是会被加密的。假设我要设置的密码为cisco,可以这样设置:
enable secret 0 cisco
或者(假设cisco的MD5加密后的内容为:90e560aea745ccba):
enabled secret 5 90e560aea745ccba
Q:既然我们在设置密码时一般情况下,要么使用enable password 0 cisco,要么使用enable secret 0 cisco命令,那为何要有password 7或secret 5命令呢?
A:两个原因!
一是为了在导入之前的备份的配置文件时,可以无须特意去删除密码设置相关的命令文本,可以在对配置文件不作任何改变的情况下导入备份配置且密码仍然为原密码。
二是当一个设备中有多个用户帐户时,其他的用户在不允许告诉你密码明文的情况下,作为设备配置人员也可以使用加密后的密钥文为其他用户进行密码配置。