首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

八种在 Linux 上生成随机密码的方法

学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码。

-- Kerneltalks

本文导航

◈ 使用 mkpasswd 实用程序生成密码

07%

◈ 使用 openssl 生成密码

13%

◈ 使用 urandom 生成密码

16%

◈ 使用 dd 命令生成密码

19%

◈ 使用 md5sum 生成密码

25%

◈ 使用 pwgen 生成密码

30%

◈ 使用 gpg 工具生成密码

38%

◈ 使用 xkcdpass 生成密码

43%

编译自 | https://kerneltalks.com/tips-tricks/8-ways-to-generate-random-password-in-linux/

作者 | Kerneltalks

译者 | Sun Yongfei

学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码。

在这篇文章中,我们将引导你通过几种不同的方式在 Linux 终端中生成随机密码。其中几种利用原生 Linux 命令,另外几种则利用极易在 Linux 机器上安装的第三方工具或实用程序实现。在这里我们利用像 ,dd

[1]

, , , 这样的原生命令和 mkpasswd,randpw,pwgen,spw,gpg,xkcdpass,diceware,revelation,keepaasx,passwordmaker 这样的第三方工具。

其实这些方法就是生成一些能被用作密码的随机字母字符串。随机密码可以用于新用户的密码,不管用户基数有多大,这些密码都是独一无二的。话不多说,让我们来看看 8 种不同的在 Linux 上生成随机密码的方法吧。

使用 mkpasswd 实用程序生成密码

在基于 RHEL 的系统上随 软件包一起安装。在基于 Debian 的系统上 则在软件包 中。直接安装 软件包将会导致错误:

◈ RHEL 系统:软件包 mkpasswd 不可用。

◈ Debian 系统:错误:无法定位软件包 mkpasswd。

所以按照上面所述安装他们的父软件包,就没问题了。

运行 来获得密码

这个命令在不同的系统上表现得不一样,所以工作方式各异。你也可以通过参数来控制长度等选项,可以查阅 man 手册来探索。

使用 openssl 生成密码

几乎所有 Linux 发行版都包含 openssl。我们可以利用它的随机功能来生成可以用作密码的随机字母字符串。

这里我们使用 编码随机函数,最后一个数字参数表示长度。

使用 urandom 生成密码

设备文件 是另一个获得随机字符串的方法。我们使用 功能并裁剪输出来获得随机字符串,并把它作为密码。

使用 dd 命令生成密码

我们甚至可以使用 设备配合dd 命令

[1]

来获取随机字符串。

我们需要将结果通过 编码使它能被人类可读。你可以使用数值来获取想要的长度。想要获得更简洁的输出的话,可以将“标准错误输出”重定向到 。简洁输出的命令是:

使用 md5sum 生成密码

另一种获取可用作密码的随机字符串的方法是计算 MD5 校验值!校验值看起来确实像是随机字符串组合在一起,我们可以用作密码。确保你的计算源是个变量,这样的话每次运行命令时生成的校验值都不一样。比如 !date 命令

[2]

总会生成不同的输出。

在这里我们将 命令的输出通过 得到了校验和!你也可以用cut 命令

[3]

裁剪你需要的长度。

使用 pwgen 生成密码

软件包在类似EPEL 软件仓库

[4]

(LCTT 译注:企业版 Linux 附加软件包)中。 更专注于生成可发音的密码,但它们不在英语词典中,也不是纯英文的。标准发行版仓库中可能并不包含这个工具。安装这个软件包然后运行 命令行。Boom !

你的终端会呈现出一个密码列表!你还想要什么呢?好吧。你还想再仔细探索的话, 还有很多自定义选项,这些都可以在 man 手册里查阅到。

使用 gpg 工具生成密码

GPG 是一个遵循 OpenPGP 标准的加密及签名工具。大部分 gpg 工具都预先被安装好了(至少在我的 RHEL7 上是这样)。但如果没有的话你可以寻找 或 软件包并安装

[5]

它。

使用下面的命令以从 gpg 工具生成密码。

这里我们传了生成随机字节序列选项(),质量为 1(第一个参数),次数 12 (第二个参数)。选项 保证以 编码输出。

使用 xkcdpass 生成密码

著名的极客幽默网站xkcd

[6]

,发表了一篇非常有趣的文章,是关于好记但又复杂的密码的。你可以在这里

[7]

阅读。所以 工具就受这篇文章启发,做了这样的工作!这是一个 Python 软件包,可以在这里

[8]

的 Python 的官网上找到它。

所有的安装使用说明都在上面那个页面提及了。这里是安装步骤和我的测试 RHEL 服务器的输出,以供参考。

现在运行 命令,将会随机给出你几个像下面这样的字典单词:

你可以用这些单词作为其他命令,比如 的输入,来获取随机密码(就像下面这样),甚至你也可以用每个单词的第 N 个字母来生成你的密码!

或者你甚至可以把所有单词串在一起作为一个超长的密码,不仅非常好记,也不容易被电脑程序攻破。

Linux 上还有像Diceware

[9]

、KeePassX

[10]

、Revelation

[11]

、PasswordMaker

[12]

这样的工具,也可以考虑用来生成强随机密码。

via:https://kerneltalks.com/tips-tricks/8-ways-to-generate-random-password-in-linux/

作者:kerneltalks

[14]

译者:heart4lor校对:Locez

本文由LCTT原创编译,Linux中国荣誉推出

LCTT 译者

Sun Yongfei(heart4lor)

共计翻译:2篇

贡献时间:3 天

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207B0HIHK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券