如何在 Linux 生成複雜密碼並且檢查密碼強度

roc_guo發表於2021-11-01
生成複雜的密碼

強密碼應由字母、數字和符號的混合組成。第二個要求是不要使用已知單詞、出生日期或姓名,因為很容易受到字典攻擊。

密碼應該包含多少個字元?實際上沒有具體的答案,但是超過 16 個字元是一個不錯的選擇。因此,如果你的系統具有 OpenSSL 或 GPG,可以使用這些工具來完成生成密碼的任務。例如,下面我們使用 GPG生成密碼:

[root@localhost ~]# gpg --gen-random --armor 2 12
zXVKRoB0/V4BN9QG

如果不想帶有特殊字元,可以使用 sed 過濾掉:

[root@localhost ~]# gpg --gen-random --armor 2 12|sed 's/[^a-zA-Z0-9]//g'
n4ciIlRLkLTkzwg

上面使用 --gen-random選項來隨機生成字元。使用 --armor選項來生成ASCII字元。後面的選項2可以使 [0][1][2]三個選項,他表示質量級別。最後一個數字代表字元長度。

相同的,我們可以使用 OpenSSL來生成密碼:

[root@localhost ~]# openssl rand -base64 12
QIrH/PLXqzmLuI/a

同樣,也可以使用 sed 過濾掉特殊字元:

[root@localhost ~]# openssl rand -base64 12| sed 's/[^a-zA-Z0-9]//g'
lXIg4cKLCLVvsi
檢查密碼強度

現在我們有了密碼,是時候看看它是否通過了測試:您的密碼是否足夠強大?為了確定密碼是否足夠強大,我們將在 8中安裝使用 cracklib工具。

[root@localhost ~]# yum -y install cracklib

下面我們先測試一個簡單的密碼:

[root@localhost ~]# echo "a1b2c5" | cracklib-check 
a1b2c5: it is based on a dictionary word

如何在 Linux 生成複雜密碼並且檢查密碼強度如何在 Linux 生成複雜密碼並且檢查密碼強度
如果使用普通單詞呢?

[root@localhost ~]# echo "Administrator"|cracklib-check 
Administrator: it is based on a dictionary word

如何在 Linux 生成複雜密碼並且檢查密碼強度如何在 Linux 生成複雜密碼並且檢查密碼強度
上面兩個密碼的輸出,同樣提示在詞典中能查詢到。

下面我們測試一個生成的密碼看一下強度如何:

[root@localhost ~]# openssl rand -base64 12 | cracklib-check 
VdBlmvIgGY4ehWly: OK

可以看到密碼沒問題。

總結

在本教程中,我們已經看到生成和驗證密碼是多麼容易,但不要忘記為每個服務生成不同的密碼


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2839914/,如需轉載,請註明出處,否則將追究法律責任。

相關文章