我们可以手工创建我们须要的密码。但如果你想要为多个用户或做事器天生密码,办理方案是什么呢?
-- Magesh Maruthamuthu
最近我们在网站上揭橥过一篇关于 检讨密码繁芜性/强度和评分 的文章。它可以帮助你检讨你的密码的强度和评分。

我们可以手工创建我们须要的密码。但如果你想要为多个用户或做事器天生密码,办理方案是什么呢?
是的,Linux 中有许多可用的工具能知足这个需求。本文中我将会先容五种最好的密码天生器。
这些工具可以为你天生高强度随机密码。如果你想要为多个用户和做事器更新密码,请连续读下去。
这些工具易于利用,这也是我喜好用它们的缘故原由。默认情形下它们会天生一个足够健壮的密码,你也可以通过利用其他可用的选项来天生一个超强的密码。
它会帮助你天生符合下列哀求的超强密码。密码长度至少有 12-15 个字符,包括字母(大写及小写),数字及分外符号。
工具如下:
pwgen:天生易于人类影象并且尽可能安全的密码。openssl:是一个用来从 shell 中调用 OpenSSL 加密库供应的多种密码学函数的命令行工具。gpg:OpenPGP 加密/署名工具。mkpasswd:天生新密码,可以选择直接设置给一名用户。makepasswd:利用 /dev/urandom 天生真随机密码,比起好记它更重视安全性。/dev/urandom 文件:两个分外的字符文件 /dev/random 和 /dev/urandom (自 Linux 1.3.30 起涌现)供应了内核随机数天生器的接口。md5sum:是一个用来打算及校验 128 位 MD5 哈希的程序。sha256sum:被设计用来利用 SHA-256 算法(SHA-2 系列,择要长度为 256 位)校验数据完全性。sha1pass:天生一个 SHA1 密码哈希。在命令短缺盐值的情形下,将会天生一个随机的盐值向量。怎么用 pwgen 命令在 linux 下天生一个随机的强壮密码?pwgen 程序天生易于人类影象并且尽可能安全的密码。
易于人类影象的密码永久都不会像完备随机的密码一样安全。
利用 -s 选项来天生完备随机,难于影象的密码。由于我们记不住,这些密码该当只用于机器。
在 Fedora 系统中,利用 DNF 命令 来安装 pwgen。
$ sudo dnf install pwgen
在 Debian/Ubuntu 系统中,利用 APT-GET 命令 或 APT 命令 来安装 pwgen。
$ sudo apt install pwgen
在 Arch Linux 系统中,利用 Pacman 命令 来安装 pwgen。
$ sudo pacman -S pwgen
在 RHEL/CentOS 系统中,利用 YUM 命令 来安装 pwgen。
$ sudo yum install pwgen
在 openSUSE Leap 系统中,利用 Zypper 命令 来安装 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%!)~ 4pwYs{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 命令 来安装 mkpasswd。
$ sudo dnf install expect
在 Debian/Ubuntu 系统中,利用 APT-GET 命令 或 APT 命令 来安装 mkpasswd。
$ sudo apt install expect
在 Arch Linux 系统中,利用 Pacman 命令 来安装 mkpasswd。
$ sudo pacman -S expect
在 RHEL/CentOS 系统中,利用 YUM 命令 来安装 mkpasswd。
$ sudo yum install expect
在 openSUSE Leap 系统中,利用 Zypper 命令 来安装 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 选题: lujun9972 译者: leommx 校正: wxy
本文由 LCTT 原创编译, Linux中国 名誉推出
点击“理解更多”可访问文内链接