Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >技术|在 Linux 终端下生成随机/强密码的五种方法

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

原创
作者头像
用户8710643
修改于 2021-07-12 02:34:56
修改于 2021-07-12 02:34:56
1.5K0
举报
文章被收录于专栏: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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux系统命令行生成高强度密码的3种方法
当今社会,信息泄露越来越严重,而强大的密码是保护个人敏感信息的第一步。在生活中,我们在各种场合都会用到大量的密码,有些人为了贪图方便,把这些密码都设置成一样,但是这样很危险,因为一旦泄漏的话,所有的账号都将暴露在风险之下。
用户1685462
2021/07/28
7410
用Linux命令行生成随机密码的十种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。 这些方法均收集于Command-Line Fu,并且在我们自己的Linux PC机上测试过。这十种方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法。 生成一个随机密码 对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位。希望你正在使用一些类似于LastPass的密码管理器,
小小科
2018/05/02
2K0
Linux炫技:左手密码生成器,解放右手生产力!
Linux的一大优点是,你可以用数百种不同的方式,达到相同的目的。甚至可以使用几十种不同的命令,完成生成随机密码这样简单的操作。
程序员小助手
2020/05/14
3330
linux中生成强密码的不同方法
Generate a strong password in Linux using pwgen
入门笔记
2022/06/02
1.2K0
Linux生成随机密码的2种常用办法
日常工作中经常临时用密码,因此有了生成随机密码的需求。日常工作中经常临时用密码,因此有了生成随机密码的需求。日常工作中经常临时用密码,因此有了生成随机密码的需求。
Windows技术交流
2019/12/31
2.6K0
用shell命令产生随机数的六种方法
1 openssl rand -base64 10 | md5sum 产生以10位随机字符
知识浅谈
2020/03/24
1.5K0
shell生成随机字符的几种方法
一般在写shell脚本的时候,会有需要生成一些随机字符,比如在写批量生成用户+随机密码的脚本的时候,就会用到随机生成的字符串来作为新建用户的密码。以下的几种方式可以随机生成字符串。当然,还要许多方法都能完成文章标题的目的,这里仅列举出来部分的。 1.使用shell的random变量 [root@virmach ~]# echo $RANDOM 1908 2.使用openssl [root@virmach ~]# openssl rand -base64 8 # 8是8位的意思 K0NYLr0u0Xo= 3
行 者
2018/03/26
13.2K0
5、六种产生随机数的方法
1. RANDOM变量方法 echo $RANDOM 16657 echo $[RANDOM**3] 5181309310464 随机数为纯数值 2.openssl方法 openssl rand -base64 16 YFRJc5PRxt5SUmrJYEbhVQ== 此随机数包含大小写、数字、特殊字符等 3. 时间(date)方法 date +%s%N 1516546978135506875 任意时间执行产生的结果都不一样,纯数字 4. /dev/urandom方法 head /dev/urandom|ck
jackxiao
2021/11/16
1.2K0
弱密码检测又没过?教你一键设置高强度随机密码
有时候为了简单,总喜欢设置123456的弱密码,但是这种密码过于简单,不太安全。不过设置高强度的复杂密码也是一个“麻烦事”,下面给你们总结了几种常用的命令方式。方式一# 设置随机密码[root@www.lutixia.cn ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 # 设置密码,并修改root管理员密码[root@www.lutixia.cn ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c
运维朱工
2022/09/05
1.3K0
PHP生成随机密码的4种方法及性能对比
方法一: 1、在 33 – 126 中生成一个随机整数,如 35, 2、将 35 转换成对应的ASCII码字符,如 35 对应 # 3、重复以上 1、2 步骤 n 次,连接成 n 位的密码 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范围,如ASCII码表中 97 – 122 位对应 a – z 的英文字母,具体可参考 ASCII码表; chr
wangxl
2018/03/07
1.4K0
linux shell实现随机数多种方法(date,random,uuid)
在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了。现在很多都是操作系统内核会提供相应的api,这些原始参数是获取一些计算机运行原始信息,如内存,电压,物理信号等等,它的值在一个时间段可以保证是唯一的了。好了,废话我就不说了。呵呵。
明哥的运维笔记
2019/01/30
2.4K0
Linux下产生、加密或解密随机密码
Linux下如何产生、加密或解密随机密码?密码是保护数据安全的一项重要措施,设置密码的基本原则是 “易记,难猜”,在Linux下可以轻易的产生、加密或解密随机密码。
用户4988085
2021/07/29
2.3K0
08·Shell编程-循环
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
3530
【Docker项目实战】使用Docker部署pwgen简单密码生成器
江湖有缘
2025/01/03
1090
【Docker项目实战】使用Docker部署pwgen简单密码生成器
最强linux便捷使用技巧汇总(经典手册)
使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件。下面话不多说了,来看看详细的内容吧。
IT运维技术圈
2022/06/26
5820
最强linux便捷使用技巧汇总(经典手册)
Linux 中的密码生成器:如何在命令行中生成随机密码
在许多情况下,我们需要创建强密码来保护我们的账户和数据。Linux 提供了许多方法来生成随机密码,其中包括在命令行中使用密码生成器。本文将详细介绍如何在 Linux 中使用命令行生成随机密码。
网络技术联盟站
2023/06/25
2.1K0
Linux 中的密码生成器:如何在命令行中生成随机密码
用 shell 脚本批量生成强密码
        这个命令组合主要用于生成一个随机的、包含可打印字符(不包括空格)的字符串列表,每个字符串长度为16个字符,总共生成100个这样的字符串。下面是对命令各部分的详细解析:
用户1148526
2024/08/08
1120
GnuPG-1主密钥使用
GnuPG,简称GPG,是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。GnuPG 是自由软件,遵循 IETF 订定的 OpenPGP 技术标准设计,并与 PGP 保持兼容。
潇洒
2023/10/20
4900
GnuPG-1主密钥使用
Linux Shell 生成随机数和随机字符串
日常生活中,会经常用到随机数,使用场景非常广泛,例如买彩票、丢骰子、抽签、年会抽奖等。
阳光岛主
2019/03/04
3.7K0
日拱一卒,麻省理工教你信息安全和密码学
今天我们继续麻省理工missing smester,消失的学期的学习。这一节课的内容关于信息安全和密码学。
TechFlow-承志
2022/09/21
5540
日拱一卒,麻省理工教你信息安全和密码学
相关推荐
Linux系统命令行生成高强度密码的3种方法
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档