前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术|在 Linux 终端下生成随机/强密码的五种方法

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

原创
作者头像
用户8710643
修改2021-07-12 10:34:56
1.3K0
修改2021-07-12 10:34:56
举报
文章被收录于专栏:linux百科小宇宙linux百科小宇宙

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

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

是的,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`~2443fa5iJ\W-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%5bp.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%B\8}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$

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档