技术|在 Linux 终端下生成随机/强密码的五种方法

2021-07-12 10:34:56 浏览数 (1)

最近我们在网站上发表过一篇关于检查密码复杂性/强度和评分的文章。它可以帮助你检查你的密码的强度和评分。

我们可以手工创建我们需要的密码。但如果你想要为多个用户或服务器生成密码,解决方案是什么呢?

是的,Linux中有许多可用的工具能满足这个需求。本文中我将会介绍五种最好的密码生成器。

这些工具可以为你生成高强度随机密码。如果你想要为多个用户和服务器更新密码,请继续读下去。

这些工具易于使用,这也是我喜欢用它们的原因。默认情况下它们会生成一个足够健壮的密码,你也可以通过使用其他可用的选项来生成一个超强的密码。

它会帮助你生成符合下列要求的超强密码。密码长度至少有12-15个字符,包括字母(大写及小写),数字及特殊符号。

工具如下:

pwgen:生成易于人类记忆并且尽可能安全的密码。openssl:是一个用来从shell中调用OpenSSL加密库提供的多种密码学函数的命令行工具。gpg:OpenPGP加密/签名工具。mkpasswd:生成新密码,可以选择直接设置给一名用户。makepasswd:使用/dev/urandom生成真随机密码,比起好记它更重视安全性。/dev/urandom文件:两个特殊的字符文件/dev/random和/dev/urandom(自Linux1.3.30起出现)提供了内核随机数生成器的接口。md5sum:是一个用来计算及校验128位MD5哈希的程序。sha256sum:被设计用来使用SHA-256算法(SHA-2系列,摘要长度为256位)校验数据完整性。sha1pass:生成一个SHA1密码哈希。在命令缺少盐值的情况下,将会生成一个随机的盐值向量。怎么用pwgen命令在linux下生成一个随机的强壮密码?pwgen程序生成易于人类记忆并且尽可能安全的密码。

易于人类记忆的密码永远都不会像完全随机的密码一样安全。

使用-s选项来生成完全随机,难于记忆的密码。由于我们记不住,这些密码应该只用于机器。

在Fedora系统中,使用DNF命令来安装pwgen。

$sudodnfinstallpwgen在Debian/Ubuntu系统中,使用APT-GET命令或APT命令来安装pwgen。

$sudoaptinstallpwgen在ArchLinux系统中,使用Pacman命令来安装pwgen。

$sudopacman-Spwgen在RHEL/CentOS系统中,使用YUM命令来安装pwgen。

$sudoyuminstallpwgen在openSUSELeap系统中,使用Zypper命令来安装pwgen。

$sudozypperinstallpwgen在Linux下如何使用pwgen命令?使用方法非常简单直接。使用下列示例中更适合你的那种。默认情况下,它会生成一个方便记忆的密码。

想要这样做,只要在你的终端中运行pwgen命令。将会一下生成160个密码以8列20行打印出来。

$pwgenameiK2ooaibi3ChaEPium0Ieaisoh1EeNidee9aeuNga0BeeuPh9ieM1ahn1ooNgoc5ooTeatai7eKidtae2yieShiecaiR8wohY2OhkUab2maedheC4aXohOb6NiesoShaeriu3uy9Juk5uhoht7DooFah6yah3faz9JeeweKiek4juas0XuoshEiwo4epooot8teeZUi1yoohiAechae7AOhdi2aelcae5ThohAu1aeTeiais0aiC2Cai2quinOox9ohz4neev0Cheahza8AQuAhz7eicameiBeeW0Av3bo7ahquoiTu3ftaeNg3aeAiko7AizSheiGh8EaesaeSh7haet6LooAeTel3oNAth7zeerIeYah4ieUG3oothaOhch9OchPhuap6suiel5Xu7sdiqui7BuieF2diereeluHa1uThagei0iCeeth3ohOCei1ahjzei2aiYoJahgh1iaooqu1Cejeez2aiPoWahd5soonoo7Mei9Hie5asheUith4Or2Xie3uh2bfuF9EilueiN2sha9zae2YaShoGh5ephiohvao4Aeaixu6aeMfo4Ierahiephei6Ahae9eeGaeiBeiY3gAic8Kee9he8AheChohM4bid9eemae3Zueesh2EiMcheiGa4jPooV2viiahpeeg5EaezauX2cXe7aethuAhvaph7aJoh2heecIi5EeShiaij7Uo8eooy2AhthmieKe2nieiQuu8fegiedaQu0eiPhob3Eoox1uo2Ueehia4Huga9Ahw0aohxuZei7eV4OoXioKid2wu1nku4Ahf5suigh8uQuAhWoh0povo1Eeb2uAhth7ve5ieje4eiLieci1AchMeephie9iephieY8Eesoom7ueakai2Bouo8IecheZai3aev5aGhahf0EWowoo5thOraeb0ahGah3nah0ieGhah0paeCh0OhJahQu2feZahQu0gahfoik7Ushcei1Wai1Aivi3ooYeephei5UMooZae3OquooRoh7aequae5Upae6CeiveizahF1kohmi7ETaahyaeK1NMohw2no8ooc8Oonecoo7IeveeePhei9hWeequ8eVVie4iezuneeMiim4ie6aiZohQueegh2Eshahwi3NInichie8Sid1aejimohj4Ko7lieDi0peZeemah6athuevu2Ephi4OhshpaiKeix1ooz1CephahV4yoreue2laePhfu1eThuiqui7aePhFahth1nuohk9puLoaiBeez0bNeengai5生成安全的随机密码,使用pwgen命令的-s选项。

$pwgen-sCU75lgZd7HzzKgtA2ktBJDpRF6XJVhBsUjAm3bNLzO7Dw7JJpxn8fUvpKa3lLilGywJX7iJlD9ajxb6N78c1HOg2g8vtWCraJp6pBGBwoYuev9VlgbA6gHV8G6XQoVO5uQN98IU450GgQfrXFrTsou2tYQorO4x6UGer8Yi2O7DB5nw11ax370UR1xVRPkA1RVaGDr2iNt11ekUd9Vm3D244ck8Lnpd0SjDt8uWn5ERT4tf84EONFzyYJc6T83jgWZa6bKPWH4HMo1YUbsDDRik3gBwV7LOW9H1QRQ4x3Ak7RcSeIJu2RBF9e508xrLCSzTrW191AslxDa6EIkWWov2biOb6EmTyqHt82OwG5ZFO7B5397zmjOPuA4KZuhYVuQpoJR4D0eKyOiUrRz96smeO3HTABu3N6W0VmElsuPsp5zpw8UD3VkMGYTct6Rd4VKo0cVmqE07ZX7j9kQSlvA69Nm3fpv3ixWvF2xMuyEfcw8uAoQGVX3l9grTzx7Xjs4GVEYtMuJl5sYMen3icRPiYED3Mup4Bk3M9KHI7IkxqoSM0dt2cxmMUyb2tUkut2Q9wGZQx8Rpo11s9I13siOHu7GV64Fjv3VONzD8iSCDfVD3FoiPTx2396BQakoiJXUEokiC4ybL7VGmLel2RfvWkzKc7CLcE3FqNBSyANjDWrvZ5KI3NSX4hVFyo6VPrh4q3XeqZFDYMoX6fuTU5ZzU36u4ob4EpwiYPt05nCZga66qhupzH6Z9yRuVcqbe8taQv11hq1xsY67a8EVo9GLXAFCaDLGb1bZyh0YN80nTKo0QyRRVUwn9tDuU8mwwvx96LWpCbtFLz3fBGdNb4gCKfn6VYcOiH1ep6QYFZx8kaJtrY56PDWuW61R0If4kV2XK0NLQK4XQqhyclIp08cn6cBnx9z2Bz7gjGlON7CJxLR1U4mqMwir3jovGXWu0zMfDjk5m84KwM9SANoz0fZ5eo5m8iRtcooP5BpLh0Z5kvwr1Wf34O2O43hXao1Sp8tKoG5VNIf13fuYvmBQQn8MD3bmFSf6MfZ4Y0o17UjT4wO1DGcz2clBESLr4B3qIYArKQRND68xnh4oIsnayiK2zGyWvQCV3vAFPlHSB8zfx5bnaLt5lFbenkF2dIeBr4C6RqDQMygKt28c9OZCi0tQKE0Ekdjh3Pox2vWOMI14XF4gwcnYA0L6tVrRN3leknlmwZNjz14ovmJAr7shPl9o5fFFsuNwj0F2eVkqGi7gw277RZnYE7gCLlJDn05S5N假设你想要生成5个14字符长的密码,方法如下:

$pwgen-s1457YxUwDyfxGVTYDem2NT6FceXjPfTu8jlrljbrclcTiIruIX3Xu0TFXRrX8M9cB6wKNot1e如果你真的想要生成20个超强随机密码,方法如下:

$pwgen-cnys1420mQ3EvfGfZ,5[B#zmj{i5|ZS){jgHt_8i7OqJ%N`~2443fa5iJW-L?]?Qs$ovz2vgQBR^'Ry0Az|J9p2 0t2oA/n7U_'|QRxEsX*%_(4./QCRJACr-,8yF9&eM[*!Xz1C'bw?tv50o8hfv-fK(VxwQGSq!qj?sD7Xmkb7^N#Zp_Y2kr%!)~4*pwYs{bq]Hh&Y|4u-Q1!jS~8;]{$N#FPX1L2B{hI|01fcK.z?QTz"l~]JD_,W[p.E i2D3;BQ}p $In.a3,.D3VQ3~&i如何在Linux下使用openssl命令生成随机强密码?openssl是一个用来从shell中调用OpenSSL加密库提供的多种密码学函数的命令行工具。

像下面这样运行openssl命令可以生成一个14字符长的随机强密码。

$opensslrand-base6414WjzyDqdkWf3e53tJw/c如果你想要生成10个14字符长的随机强密码,将openssl命令与for循环结合起来使用。

$forpwin{1..10};doopensslrand-base6414;done6i0hgHDBi3ohZ9Mil8Igtn y1bVFJFanpJqWaArYu wy 0nwLf5lk7TBAxrdNGykIzxaKDiLF2BwcltejRkDPdFPC/zI0PgG6aroK6d4xVVYFTrZGsjJEnFoOk1 UTSx/wJrYTFxVjBmLx9aivXB3yxEoQtOLPwTuO8df7dIv9IktpBpCSQFOD 5kIIe7Y如何在Linux下使用gpg命令生成随机强密码?gpg是GnuPrivacyGuard(GnuPG)中的OpenPGP实现部分。它是一个提供OpenPGP标准的数字加密与签名服务的工具。gpg具有完整的密钥管理功能和其他完整OpenPGP实现应该具备的全部功能。

下面这样执行gpg命令来生成一个14字符长的随机强密码。

$gpg--gen-random--armor114or$gpg2--gen-random--armor114jq1mtY4gBa6gIuJrggM如果想要使用gpg生成10个14字符长的随机强密码,像下面这样使用for循环。

$forpwin{1..10};dogpg--gen-random--armor114;doneor$forpwin{1..10};dogpg2--gen-random--armor114;doneF5ZzLSUMet2kefG6Ssc8hh7BFNs8Qu0cnrvHrYB PEt28CosR5xO05/sQm21bfx6UG1cBDzVGKcEwALosRXnBgmOC6 xUTGpjT5xRxo/zFq/lNegggsKxVgpB/3aSOY15W4iUlezWxL626CPc9omTIpYb7xQwI1NTlM2rxaCgeJjhtA6oHhBrUpLY4fM如何在Linux下使用mkpasswd命令生成随机强密码?mkpasswd生成密码并可以自动将其为用户设置。不加任何参数的情况下,mkpasswd返回一个新的密码。它是expect软件包的一部分,所以想要使用mkpasswd命令,你需要安装expect软件包。

在Fedora系统中,使用DNF命令来安装mkpasswd。

$sudodnfinstallexpect在Debian/Ubuntu系统中,使用APT-GET命令或APT命令来安装mkpasswd。

$sudoaptinstallexpect在ArchLinux系统中,使用Pacman命令来安装mkpasswd。

$sudopacman-Sexpect在RHEL/CentOS系统中,使用YUM命令来安装mkpasswd。

$sudoyuminstallexpect在openSUSELeap系统中,使用Zypper命令来安装mkpasswd。

$sudozypperinstallexpect在终端中执行mkpasswd命令来生成一个随机密码。

$mkpasswd37_slQepD像下面这样执行mkpasswd命令可以生成一个14字符长的随机强密码。

$mkpasswd-l14W1qP1uvlhghgh像下面这样执行mkpasswd命令来生成一个14字符长,包含大小写字母、数字和特殊字符的随机强密码。

$mkpasswd-l14-d3-C3-s33aad!bMWG49"t,如果你想要生成10个14字符长的随机强密码(包括大小写字母、数字和特殊字符),使用for循环和mkpasswd命令。

$forpwin{1..10};domkpasswd-l14-d3-C3-s3;donezmSwP[q9;P1r6[E42zcvzM"i3%B8}1#[emailprotected]0X:zB(mmU22?nj0sqqL44M}ko(O^43tQ(.6jG;ceRq-jB6cp3x1GZ$e$of?Rj9kb2N(1J9HCf,nn#gjO79^Tu9m56 Ev_Yso(如何在Linux下使用makepasswd命令生成随机强密码?makepasswd使用/dev/urandom生成真随机密码,与易于记忆相比它更注重安全性。它也可以加密命令行中给出的明文密码。

在终端中执行makepasswd命令来生成一个随机密码。

$makepasswdHdCJafVaN在终端中像下面这样执行makepasswd命令来生成14字符长的随机强密码。

$makepasswd--chars14HxJDv5quavrqmU像下面这样执行makepasswd来生成10个14字符长的随机强密码。

$makepasswd--chars14--count10TqmKVWnRGeoVNrmPV2P98hLRUsaiMhMXPwyzYi2RLodxMGgLmoFpYivi8p0G7JvJjd6qUP7SmX95MiJcQauVKWzrh5npAjvNmLoHPKdq1uA9tU85V1su9GjU2oIGiQM2TMCEoahzLNYC如何在Linux系统中使用多个命令生成随机强密码?如果你还在寻找其他的方案,下面的工具也可以用来在Linux中生成随机密码。

使用md5sum:它是一个用来计算及校验128位MD5哈希的程序。

$date|md5sum9baf96fb6e8cbd99601d97a5c3acc2c4-使用/dev/urandom:两个特殊的字符文件/dev/random和/dev/urandom(自Linux1.3.30起出现)提供了内核随机数生成器的接口。/dev/random的主设备号为1,次设备号为8。/dev/urandom主设备号为1,次设备号为9。

$cat/dev/urandom|tr-dc'a-zA-Z0-9'|head-c1415LQB9J84Btnzz使用sha256sum:它被设计用来使用SHA-256算法(SHA-2系列,摘要长度为256位)校验数据完整性。

$date|sha256suma114ae5c458ae0d366e1b673d558d921bb937e568d9329b525cf32290478826a-使用sha1pass:它生成一个SHA1密码哈希。在命令缺少盐值的情况下,将会生成一个随机的盐值向量。

$sha1pass$4$9 JvykOv$e7U0jMJL2yBOL RVa2Eke8SETEo$

0 人点赞