最近我們在網站上發表過一篇關於 檢查密碼複雜性/強度和評分[1] 的文章。它可以幫助你檢查你的密碼的強度和評分。
我們可以手工建立我們需要的密碼。但如果你想要為多個使用者或伺服器生成密碼,解決方案是什麼呢?
是的,Linux 中有許多可用的工具能滿足這個需求。本文中我將會介紹五種最好的密碼生成器。
這些工具可以為你生成高強度隨機密碼。如果你想要為多個使用者和伺服器更新密碼,請繼續讀下去。
這些工具易於使用,這也是我喜歡用它們的原因。預設情況下它們會生成一個足夠健壯的密碼,你也可以透過使用其他可用的選項來生成一個超強的密碼。
它會幫助你生成符合下列要求的超強密碼。密碼長度至少有 12-15 個字元,包括字母(大寫及小寫),數字及特殊符號。
工具如下:
makepasswd
:使用 /dev/urandom
生成真隨機密碼,比起好記它更重視安全性。/dev/urandom
檔案:兩個特殊的字元檔案 /dev/random
和 /dev/urandom
(自 Linux 1.3.30 起出現)提供了核心隨機數生成器的介面。sha1pass
:生成一個 SHA1 密碼雜湊。在命令缺少鹽值的情況下,將會生成一個隨機的鹽值向量。怎麼用 pwgen 命令在 linux 下生成一個隨機的強壯密碼?
pwgen 程式生成易於人類記憶並且盡可能安全的密碼。
易於人類記憶的密碼永遠都不會像完全隨機的密碼一樣安全。
使用 -s
選項來生成完全隨機,難於記憶的密碼。由於我們記不住,這些密碼應該只用於機器。
在 Fedora 系統中,使用 DNF 命令[2] 來安裝 pwgen。
-
$ sudo dnf install pwgen
在 Debian/Ubuntu 系統中,使用 APT-GET 命令[3] 或 APT 命令[4] 來安裝 pwgen。
-
$ sudo apt install pwgen
在 Arch Linux 系統中,使用 Pacman 命令[5] 來安裝 pwgen。
-
$ sudo pacman -S pwgen
在 RHEL/CentOS 系統中,使用 YUM 命令[6] 來安裝 pwgen。
-
$ sudo yum install pwgen
在 openSUSE Leap 系統中,使用 Zypper 命令[7] 來安裝 pwgen。
-
$ sudo zypper install pwgen
在 Linux 下如何使用 pwgen 命令?
使用方法非常簡單直接。使用下列示例中更適合你的那種。預設情況下,它會生成一個方便記憶的密碼。
想要這樣做,只要在你的終端中執行 pwgen 命令。將會一下生成160個密碼以8列20行打印出來。
-
$ pwgen
-
ameiK2oo aibi3Cha EPium0Ie aisoh1Ee Nidee9ae uNga0Bee uPh9ieM1 ahn1ooNg
-
oc5ooTea tai7eKid tae2yieS hiecaiR8 wohY2Ohk Uab2maed heC4aXoh Ob6Nieso
-
Shaeriu3 uy9Juk5u hoht7Doo Fah6yah3 faz9Jeew eKiek4ju as0Xuosh Eiwo4epo
-
oot8teeZ Ui1yoohi Aechae7A Ohdi2ael cae5Thoh Au1aeTei ais0aiC2 Cai2quin
-
Oox9ohz4 neev0Che ahza8AQu Ahz7eica meiBeeW0 Av3bo7ah quoiTu3f taeNg3ae
-
Aiko7Aiz SheiGh8E aesaeSh7 haet6Loo AeTel3oN Ath7zeer IeYah4ie UG3ootha
-
Ohch9Och Phuap6su iel5Xu7s diqui7Bu ieF2dier eeluHa1u Thagei0i Ceeth3oh
-
OCei1ahj zei2aiYo Jahgh1ia ooqu1Cej eez2aiPo Wahd5soo noo7Mei9 Hie5ashe
-
Uith4Or2 Xie3uh2b fuF9Eilu eiN2sha9 zae2YaSh oGh5ephi ohvao4Ae aixu6aeM
-
fo4Ierah iephei6A hae9eeGa eiBeiY3g Aic8Kee9 he8AheCh ohM4bid9 eemae3Zu
-
eesh2EiM cheiGa4j PooV2vii ahpeeg5E aezauX2c Xe7aethu Ahvaph7a Joh2heec
-
Ii5EeShi aij7Uo8e ooy2Ahth mieKe2ni eiQuu8fe giedaQu0 eiPhob3E oox1uo2U
-
eehia4Hu ga9Ahw0a ohxuZei7 eV4OoXio Kid2wu1n ku4Ahf5s uigh8uQu AhWoh0po
-
vo1Eeb2u Ahth7ve5 ieje4eiL ieci1Ach Meephie9 iephieY8 Eesoom7u eakai2Bo
-
uo8Ieche Zai3aev5 aGhahf0E Wowoo5th Oraeb0ah Gah3nah0 ieGhah0p aeCh0OhJ
-
ahQu2feZ ahQu0gah foik7Ush cei1Wai1 Aivi3ooY eephei5U MooZae3O quooRoh7
-
aequae5U pae6Ceiv eizahF1k ohmi7ETa ahyaeK1N Mohw2no8 ooc8Oone coo7Ieve
-
eePhei9h Weequ8eV Vie4iezu neeMiim4 ie6aiZoh Queegh2E shahwi3N Inichie8
-
Sid1aeji mohj4Ko7 lieDi0pe Zeemah6a thuevu2E phi4Ohsh paiKeix1 ooz1Ceph
-
ahV4yore ue2laePh fu1eThui qui7aePh Fahth1nu ohk9puLo aiBeez0b Neengai5
生成安全的隨機密碼,使用 pwgen 命令的 -s
選項。
-
$ pwgen -s
-
CU75lgZd 7HzzKgtA 2ktBJDpR F6XJVhBs UjAm3bNL zO7Dw7JJ pxn8fUvp Ka3lLilG
-
ywJX7iJl D9ajxb6N 78c1HOg2 g8vtWCra Jp6pBGBw oYuev9Vl gbA6gHV8 G6XQoVO5
-
uQN98IU4 50GgQfrX FrTsou2t YQorO4x6 UGer8Yi2 O7DB5nw1 1ax370UR 1xVRPkA1
-
RVaGDr2i Nt11ekUd 9Vm3D244 ck8Lnpd0 SjDt8uWn 5ERT4tf8 4EONFzyY Jc6T83jg
-
WZa6bKPW H4HMo1YU bsDDRik3 gBwV7LOW 9H1QRQ4x 3Ak7RcSe IJu2RBF9 e508xrLC
-
SzTrW191 AslxDa6E IkWWov2b iOb6EmTy qHt82OwG 5ZFO7B53 97zmjOPu A4KZuhYV
-
uQpoJR4D 0eKyOiUr Rz96smeO 3HTABu3N 6W0VmEls uPsp5zpw 8UD3VkMG YTct6Rd4
-
VKo0cVmq E07ZX7j9 kQSlvA69 Nm3fpv3i xWvF2xMu yEfcw8uA oQGVX3l9 grTzx7Xj
-
s4GVEYtM uJl5sYMe n3icRPiY ED3Mup4B k3M9KHI7 IkxqoSM0 dt2cxmMU yb2tUkut
-
2Q9wGZQx 8Rpo11s9 I13siOHu 7GV64Fjv 3VONzD8i SCDfVD3F oiPTx239 6BQakoiJ
-
XUEokiC4 ybL7VGmL el2RfvWk zKc7CLcE 3FqNBSyA NjDWrvZ5 KI3NSX4h VFyo6VPr
-
h4q3XeqZ FDYMoX6f uTU5ZzU3 6u4ob4Ep wiYPt05n CZga66qh upzH6Z9y RuVcqbe8
-
taQv11hq 1xsY67a8 EVo9GLXA FCaDLGb1 bZyh0YN8 0nTKo0Qy RRVUwn9t DuU8mwwv
-
x96LWpCb tFLz3fBG dNb4gCKf n6VYcOiH 1ep6QYFZ x8kaJtrY 56PDWuW6 1R0If4kV
-
2XK0NLQK 4XQqhycl Ip08cn6c Bnx9z2Bz 7gjGlON7 CJxLR1U4 mqMwir3j ovGXWu0z
-
MfDjk5m8 4KwM9SAN oz0fZ5eo 5m8iRtco oP5BpLh0 Z5kvwr1W f34O2O43 hXao1Sp8
-
tKoG5VNI f13fuYvm BQQn8MD3 bmFSf6Mf Z4Y0o17U jT4wO1DG cz2clBES Lr4B3qIY
-
ArKQRND6 8xnh4oIs nayiK2zG yWvQCV3v AFPlHSB8 zfx5bnaL t5lFbenk F2dIeBr4
-
C6RqDQMy gKt28c9O ZCi0tQKE 0Ekdjh3P ox2vWOMI 14XF4gwc nYA0L6tV rRN3lekn
-
lmwZNjz1 4ovmJAr7 shPl9o5f FFsuNwj0 F2eVkqGi 7gw277RZ nYE7gCLl JDn05S5N
假設你想要生成 5 個 14 字元長的密碼,方法如下:
-
$ pwgen -s 14 5
-
7YxUwDyfxGVTYD em2NT6FceXjPfT u8jlrljbrclcTi IruIX3Xu0TFXRr X8M9cB6wKNot1e
如果你真的想要生成 20 個超強隨機密碼,方法如下:
-
$ pwgen -cnys 14 20
-
mQ3E=vfGfZ,5[B #zmj{i5|ZS){jg Ht_8i7OqJ%N`~2 443fa5iJ\W-L?] ?Qs$o=vz2vgQBR
-
^'Ry0Az|J9p2+0 t2oA/n7U_'|QRx EsX*%_(4./QCRJ ACr-,8yF9&eM;[* !Xz1C'bw?tv50o
-
8hfv-fK(VxwQGS q!qj?sD7Xmkb7^ N#Zp\_Y2kr%!)~ 4*pwYs{bq]Hh&Y; |4u=-Q1!jS~8=;
-
]{$N#FPX1L2B{h I|01fcK.z?QTz" l~]JD_,W%5bp.E +i2=D3;BQ}p+$I n.a3,.D3VQ3~&i;
如何在 Linux 下使用 openssl 命令生成隨機強密碼?
openssl 是一個用來從 shell 中呼叫 OpenSSL 加密庫提供的多種密碼學函式的命令列工具。
像下麵這樣執行 openssl 命令可以生成一個 14 字元長的隨機強密碼。
-
$ openssl rand -base64 14
-
WjzyDqdkWf3e53tJw/c=
如果你想要生成 10 個 14 字元長的隨機強密碼,將 openssl 命令與 for
迴圈結合起來使用。
-
$ for pw in {1..10}; do openssl rand -base64 14; done
-
6i0hgHDBi3ohZ9Mil8I=
-
gtn+y1bVFJFanpJqWaA=
-
rYu+wy+0nwLf5lk7TBA=
-
xrdNGykIzxaKDiLF2Bw=
-
cltejRkDPdFPC/zI0Pg=
-
G6aroK6d4xVVYFTrZGs=
-
jJEnFoOk1+UTSx/wJrY=
-
TFxVjBmLx9aivXB3yxE=
-
oQtOLPwTuO8df7dIv9I=
-
ktpBpCSQFOD+5kIIe7Y=
如何在 Linux 下使用 gpg 命令生成隨機強密碼?
gpg 是 Gnu Privacy Guard (GnuPG) 中的 OpenPGP 實現部分。它是一個提供 OpenPGP 標準的數字加密與簽名服務的工具。gpg 具有完整的金鑰管理功能和其他完整 OpenPGP 實現應該具備的全部功能。
下麵這樣執行 gpg 命令來生成一個 14 字元長的隨機強密碼。
-
$ gpg --gen-random --armor 1 14
-
or
-
$ gpg2 --gen-random --armor 1 14
-
jq1mtY4gBa6gIuJrggM=
如果想要使用 gpg 生成 10 個 14 字元長的隨機強密碼,像下麵這樣使用 for
迴圈。
-
$ for pw in {1..10}; do gpg --gen-random --armor 1 14; done
-
or
-
$ for pw in {1..10}; do gpg2 --gen-random --armor 1 14; done
-
F5ZzLSUMet2kefG6Ssc=
-
8hh7BFNs8Qu0cnrvHrY=
-
B+PEt28CosR5xO05/sQ=
-
m21bfx6UG1cBDzVGKcE=
-
wALosRXnBgmOC6+++xU=
-
TGpjT5xRxo/zFq/lNeg=
-
ggsKxVgpB/3aSOY15W4=
-
iUlezWxL626CPc9omTI=
-
pYb7xQwI1NTlM2rxaCg=
-
eJjhtA6oHhBrUpLY4fM=
如何在 Linux 下使用 mkpasswd 命令生成隨機強密碼?
mkpasswd 生成密碼並可以自動將其為使用者設定。不加任何引數的情況下,mkpasswd 傳回一個新的密碼。它是 expect 軟體包的一部分,所以想要使用 mkpasswd 命令,你需要安裝 expect 軟體包。
在 Fedora 系統中,使用 DNF 命令[2] 來安裝 mkpasswd。
-
$ sudo dnf install expect
在 Debian/Ubuntu 系統中,使用 APT-GET 命令[3] 或 APT 命令[4] 來安裝 mkpasswd。
-
$ sudo apt install expect
在 Arch Linux 系統中,使用 Pacman 命令[5] 來安裝 mkpasswd。
-
$ sudo pacman -S expect
在 RHEL/CentOS 系統中,使用 YUM 命令[6] 來安裝 mkpasswd。
-
$ sudo yum install expect
在 openSUSE Leap 系統中,使用 Zypper 命令[7] 來安裝 mkpasswd。
-
$ sudo zypper install expect
在終端中執行 mkpasswd 命令來生成一個隨機密碼。
-
$ mkpasswd
-
37_slQepD
像下麵這樣執行 mkpasswd 命令可以生成一個 14 字元長的隨機強密碼。
-
$ mkpasswd -l 14
-
W1qP1uv=lhghgh
像下麵這樣執行 mkpasswd 命令 來生成一個 14 字元長,包含大小寫字母、數字和特殊字元的隨機強密碼。
-
$ mkpasswd -l 14 -d 3 -C 3 -s 3
-
3aad!bMWG49"t,
如果你想要生成 10 個 14 字元長的隨機強密碼(包括大小寫字母、數字和特殊字元),使用 for
迴圈和 mkpasswd 命令。
-
$ for pw in {1..10}; do mkpasswd -l 14 -d 3 -C 3 -s 3; done
-
zmSwP[q9;P1r6[
-
E42zcvzM"i3%B\
-
8}1#[email protected]
-
0X:zB(mmU22?nj
-
0sqqL44M}ko(O^
-
43tQ(.6jG;ceRq
-
-jB6cp3x1GZ$e=
-
$of?Rj9kb2N(1J
-
9HCf,nn#gjO79^
-
Tu9m56+Ev_Yso(
如何在 Linux 下使用 makepasswd 命令生成隨機強密碼?
makepasswd
使用 /dev/urandom
生成真隨機密碼,與易於記憶相比它更註重安全性。它也可以加密命令列中給出的明文密碼。
在終端中執行 makepasswd
命令來生成一個隨機密碼。
-
$ makepasswd
-
HdCJafVaN
在終端中像下麵這樣執行 makepasswd
命令來生成 14 字元長的隨機強密碼。
-
$ makepasswd --chars 14
-
HxJDv5quavrqmU
像下麵這樣執行 makepasswd
來生成 10 個 14 字元長的隨機強密碼。
-
$ makepasswd --chars 14 --count 10
-
TqmKVWnRGeoVNr
-
mPV2P98hLRUsai
-
MhMXPwyzYi2RLo
-
dxMGgLmoFpYivi
-
8p0G7JvJjd6qUP
-
7SmX95MiJcQauV
-
KWzrh5npAjvNmL
-
oHPKdq1uA9tU85
-
V1su9GjU2oIGiQ
-
M2TMCEoahzLNYC
如何在 Linux 系統中使用多個命令生成隨機強密碼?
如果你還在尋找其他的方案,下麵的工具也可以用來在 Linux 中生成隨機密碼。
使用 md5sum:它是一個用來計算及校驗 128 位 MD5 雜湊的程式。
-
$ date | md5sum
-
9baf96fb6e8cbd99601d97a5c3acc2c4 -
使用 /dev/urandom
: 兩個特殊的字元檔案 /dev/random
和 /dev/urandom
(自 Linux 1.3.30 起出現)提供了核心隨機數生成器的介面。/dev/random
的主裝置號為 1,次裝置號為 8。/dev/urandom
主裝置號為 1,次裝置號為 9。
-
$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 14
-
15LQB9J84Btnzz
使用 sha256sum:它被設計用來使用 SHA-256 演演算法(SHA-2 系列,摘要長度為 256 位)校驗資料完整性。
-
$ date | sha256sum
-
a114ae5c458ae0d366e1b673d558d921bb937e568d9329b525cf32290478826a -
使用 sha1pass
:它生成一個 SHA1 密碼雜湊。在命令缺少鹽值的情況下,將會生成一個隨機的鹽值向量。
-
$ sha1pass
-
$4$9+JvykOv$e7U0jMJL2yBOL+RVa2Eke8SETEo$
via: https://www.2daygeek.com/5-ways-to-generate-a-random-strong-password-in-linux-terminal/
作者:Magesh Maruthamuthu[9] 選題:lujun9972 譯者:leommx 校對:wxy