教你如何在 Linux 中生成復雜密碼并且檢查密碼強度
生成復雜的密碼
強密碼應由字母、數字和符號的混合組成。第二個要求是不要使用已知單詞、出生日期或姓名,因為很容易受到字典攻擊。密碼應該包含多少個字符?實際上沒有具體的答案,但是超過 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
檢查密碼強度
現在我們有了密碼,是時候看看它是否通過了測試:您的密碼是否足夠強大?為了確定密碼是否足夠強大,我們將在Centos8中安裝使用??cracklib?
?工具。
[root@localhost ~]# yum -y install cracklib
下面我們先測試一個簡單的密碼:
[root@localhost ~]# echo "a1b2c5" | cracklib-check
a1b2c5: it is based on a dictionary word
如果使用普通單詞呢?
[root@localhost ~]# echo "Administrator"|cracklib-check
Administrator: it is based on a dictionary word
上面兩個密碼的輸出,同樣提示在詞典中能查找到。下面我們測試一個生成的密碼看一下強度如何:
[root@localhost ~]# openssl rand -base64 12 | cracklib-check
VdBlmvIgGY4ehWly: OK
可以看到密碼沒問題。