linux密码学工具,在 Linux 终端下生成随机/强密码的五种方法 | Linux 中国

  • Post author:
  • Post category:linux


原标题:在 Linux 终端下生成随机/强密码的五种方法 | Linux 中国

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

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

是的,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。

743cd908bdcfa8e759fc93e55c642aba.png

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

ad2d6f3dbd8c8581c1911d5451b37041.png

在 Arch Linux 系统中,使用 Pacman 命令来安装 pwgen。

2b7ca266e5200c84694982ff22f8f14c.png

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

13b3e9d2abac08458f7506b33ebbef30.png

在 openSUSE Leap 系统中,使用 Zypper 命令来安装 pwgen。

93e75229707f3ac19bdf42de441aca60.png

在 Linux 下如何使用 pwgen 命令?

使用方法非常简单直接。使用下列示例中更适合你的那种。默认情况下,它会生成一个方便记忆的密码。

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

494a88476716f383bada3aa4db165138.png

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

fdacd566824b5d26562017027c618369.png

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

c91450174588f80c253a7b5323257cf5.png

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

b3c9ccb57db483bc6905d593250ede71.png

如何在 Linux 下使用 openssl 命令生成随机强密码?

openssl 是一个用来从 shell 中调用 OpenSSL 加密库提供的多种密码学函数的命令行工具。

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

4ab258b5cf11181d9462d460952d9934.png

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

b47473e7ea34777a57d84574e19cddcc.png

如何在 Linux 下使用 gpg 命令生成随机强密码?

gpg 是 Gnu Privacy Guard (GnuPG) 中的 OpenPGP 实现部分。它是一个提供 OpenPGP 标准的数字加密与签名服务的工具。gpg 具有完整的密钥管理功能和其他完整 OpenPGP 实现应该具备的全部功能。

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

c32a2a464dee8e5c22982141ad9fc25c.png

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

d1300b13290066c5a290f87ed4f85fe5.png

如何在 Linux 下使用 mkpasswd 命令生成随机强密码?

mkpasswd 生成密码并可以自动将其为用户设置。不加任何参数的情况下,mkpasswd 返回一个新的密码。它是 expect 软件包的一部分,所以想要使用 mkpasswd 命令,你需要安装 expect 软件包。

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

822842ce229b99896864b587101a17cb.png

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

2c5fd86d3bab5bed51c7bed49147b74c.png

在 Arch Linux 系统中,使用 Pacman 命令来安装 mkpasswd。

5b35a7bb018551659a1485e1484a23c6.png

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

fc8b901b28e76b46284b8d9ee860b019.png

在 openSUSE Leap 系统中,使用 Zypper 命令来安装 mkpasswd。

6e2f2c6b00cf4584516eb52ec871dbf3.png

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

a3a46e8a304893b8a0d0cf1778895fab.png

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

02155827e8e4c8987aaec18574a41ce9.png

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

b511e5a2544053fb487e5c8bd9da2979.png

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

a9f782767a24a62f7eab99336b4255e8.png

如何在 Linux 下使用 makepasswd 命令生成随机强密码?

makepasswd 使用 /dev/urandom 生成真随机密码,与易于记忆相比它更注重安全性。它也可以加密命令行中给出的明文密码。

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

4d08bc4d8982cdd61730196345d3f525.png

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

329745cc26b4b4a6d678c570a917dcec.png

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

8f98719496423f95acb832a342ab1568.png

如何在 Linux 系统中使用多个命令生成随机强密码?

如果你还在寻找其他的方案,下面的工具也可以用来在 Linux 中生成随机密码。

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

bb6a96e2bb9cb07978a6ec2925d52834.png

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

f93f6e2877301ac86de01d88ae1c9ca7.png

使用 sha256sum:它被设计用来使用 SHA-256 算法(SHA-2 系列,摘要长度为 256 位)校验数据完整性。

f29e49ec07b8cc3bd7bbb7aae6e31c4f.png

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

e078d59fce3cbb8934d06be2e3e63034.png