想要了解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 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:兩個原因!
一是為了在導入之前的備份的配置文件時,可以無須特意去刪除密碼設置相關的命令文本,可以在對配置文件不作任何改變的情況下導入備份配置且密碼仍然為原密碼。
二是當一個設備中有多個用戶帳戶時,其他的用戶在不允許告訴你密碼明文的情況下,作為設備配置人員也可以使用加密后的密鑰文為其他用戶進行密碼配置。