在 Linux 下生成高強度密碼的四種方法
前一段時間,我們已經分享了如何在諸如 Debian、Ubuntu、Linux Mint、Elementary OS 的基於 DEB 的系統中強制用戶使用高強度的密碼 ,比如。那麼,你可能會疑惑一個高強度的密碼究竟是什麼樣的呢?怎麼才能生成一個那樣的密碼呢?不用擔心,下面我們將介紹 4 種簡單方法讓你在 Linux 中生成一個高強度密碼。當然,已經有很多免費的工具或者方式來完成這個任務,但這裡我們僅考慮那些簡單直接的方法。下面就讓我們開始吧。
1. 在 Linux 中使用 OpenSSL 來生成一個高強度密碼
OpenSSL 在所有的類 Unix 發行版、Solaris、Mac OS X 和 Windows 中都可以獲取到。
要使用 OpenSSL 生成一個隨機密碼,打開終端並運行下面的命令:
openssl rand 14 -base64
上面的 -base64
參數將確保生成的密碼可以被鍵盤敲出來。
輸出樣例:
wXCHXlxuhrFrFMQLqik=
上面的命令將生成一個隨機的、長度為 14 個字元的高強度密碼。我們強烈推薦你生成 14 個字元的密碼。 當然你可以使用 OpenSSL 生成任意長度的密碼。
要了解更多信息,可以參考聯機手冊:
man openssl
2. 在 Linux 中使用 Pwgen 來生成一個高強度密碼
pwgen 是一個簡單卻非常有用的命令行工具,用它可以在短時間內生成一個隨機且高強度的密碼。它設計出的安全密碼可以被人們更容易地記住。在大多數的類 Unix 系統中都可以獲取到它。
在基於 DEB 的系統中安裝 pwgen 請運行:
sudo apt-get install pwgen
在基於 RPM 的系統中,運行:
sudo yum install pwgen
在基於 Arch 的系統中,則運行:
sudo pacman -S pwgen
pwgen 安裝完成後,便可以使用下面的命令來生成一個長度為 14 個字元的隨機高強度密碼:
pwgen 14 1
輸出樣例:
Choo4aicozai3a
上面的命令將生成一個 14 位字元長的密碼,如果要生成兩個不同的 14 位字元長的密碼,則可以運行:
pwgen 14 2
輸出樣例:
xee7seerez6Kau Aeshu0geveeji8
如果要生成 100 個(儘管可能沒有必要生成那麼多)不同的 14 位字元長的密碼,則可以運行:
pwgen 14
輸出樣例:
kaeNg3EiVei4ei Oo0iehiJaix5Ae aenuv2eree2Quo iaT7zahH1eN2Aj Bie2owaiFahsie
gaan9zu5Xeh5ah ahGeeth8ea5ooh Ir0ueda5poogh5 uo0ohqu2ufaiX2 Mei0pee6Og3zae
Oofeiceer8Aipu sheew3aeReidir Dee4Heib2eim2o eig6jar8giPhae Zahde9nae1Niew
quatol5Oi3Bah2 quue4eebaiNgaa oGoahieSh5oL4m aequeeQue2piti laige5seePhugo
iiGo9Uthee4ros WievaiQu2xech6 shaeve0maaK3ae ool8Pai2eighis EPheiRiet1ohci
ZieX9outhoht8N Uh1UoPhah2Thee reaGhohZae5idi oiG4ooshiyi5in keePh1ohshei8y
aim5Eevah2thah Xaej8tha5eisho IeGie1Anaalaev gaoY3ohthooh3x chaebeesahTh8e
soh7oosieY5eiD ahmoh6Ihii6que Shoowoo5dahbah ieW0aiChubee7I Caet6aikai6aex
coo1du2Re9aika Ohnei5Egoh7leV aiyie6Ahdeipho EiV0aeToeth1da iNgaesu4eeyu0S
Eeb1suoV3naera railai2Vaina8u xu3OhVee1reeyu Og0eavae3oohoh audahneihaeK8a
foo6iechi5Eira oXeixoh6EwuboD we1eiDahNgoh9s ko1Eeju1iedu1z aeP7achiisohr7
phang5caeGei5j ait4Shuo5Aitai no4eis9Tohd8oh Quiet6oTaaQuei Dei2pu2NaefeCa
Shiim9quiuy0ku yiewooph3thieL thu8Aphai1ieDa Phahnahch1Aam1 oocex7Yaith8oo
eraiGaech5ahNg neixa3malif5Ya Eux7chah8ahXix eex1lahXae4Mei uGhahzonu6airu
yah8uWahn3jeiW Yi4ye4Choongie io1Vo3aiQuahpi rie4Rucheet6ae Dohbieyaeleis5
xi1Zaushohbei7 jeeb9EiSiech0u eewo0Oow7ielie aiquooZamah5th kouj7Jaivohx9o
biyeeshesaDi9e she9ooj3zuw6Ah Eit7dei1Yei5la xohN0aeSheipaa Eeg9Phob6neema
eengoneo4saeL4 aeghi4feephu6W eiWash2Vie1mee chieceish5ioPe ool4Hongo7ef1o
jahBe1pui9thou eeV2choohoa4ee Ohmae0eef4ic8I Eet0deiyohdiew Ke9ue5thohzei3
aiyoxeiva8Maih gieRahgh8anahM ve2ath9Eyi5iet quohg6ok3Ahgee theingaech5Nef
如果要在密碼中包含至少 1 個數字,則可以運行:
pwgen 14 1 -n 1
輸出樣例:
xoiFush3ceiPhe
另外,pwgen 命令還有一些很實用的選項:
-c
或--capitalize
在密碼中包含至少一個大寫字母-A
或--no-capitalize
在密碼中不包含大寫字母-n
或--numerals
在密碼中包含至少一個數字-0
或--no-numerals
在密碼中不包含數字-y
或--symbols
在密碼中包含至少一個特殊字元-s
或--secure
生成完全隨機的密碼-B
或--ambiguous
在密碼中不包含難於區分的字母,如0
和o
、1
和l
-h
或--help
輸出幫助信息-H
或--sha1=path/to/file[#seed]
使用某個給定文件的 sha1 哈希值來作為隨機數的生成種子-C
按列輸出生成好的密碼-1
不按列輸出生成好的密碼-v
或--no-vowels
不使用任何母音字母,以防止生成下流的詞語 ```
若想了解更多信息,請查閱其聯機手冊:
man pwgen
3. 在 Linux 中使用 GPG 來生成一個高強度密碼
GPG (GnuPG 或 GNU Privacy Guard) 是一個自由開源的命令行程序,可以用於替代賽門鐵克的 PGP 加密軟體。在類 Unix 操作系統、Microsoft Windows 和 Android 中都可以獲取到它。
要使用 PGP 生成 1 個長度為 14 個字元的高強度密碼,請在終端中運行下面的命令:
gpg --gen-random --armor 1 14
輸出樣例:
DkmsrUy3klzzbIbavx8=
上面的命令將生成一個安全、隨機、高強度且基於 base64 編碼的密碼。
4. 在 Linux 中使用 Perl 來生成一個高強度密碼
Perl 在大多數 Linux 發行版本的默認軟體倉庫中都可以獲取到,你可以使用相應的包管理器來安裝它。
例如在基於 DEB 的系統中,可以運行下面的命令來安裝 Perl:
sudo apt-get install perl
在基於 RPM 的系統中安裝 Perl,可以運行:
sudo yum install perl
在基於 Arch 的系統中,則運行:
sudo pacman -S perl
一旦 Perl 安裝完成,使用下面的命令創建一個文件:
vi password.pl
接著添加下面的內容到這個文件中:
#!/usr/bin/perl
my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);
my $randpassword = join '', map $alphanumeric[rand @alphanumeric], 0..8;
print "$randpasswordn"
保存並關閉該文件。
接著,切換到你剛才保存文件的地方,並運行下面的命令:
perl password.pl
使用你自己定義的文件名來替換上面命令中的 password.pl
。
輸出樣例:
3V4CJJnYd
註: 我無法找到這個腳本的原作者,假如你知道作者的名字,請在下面的評論部分讓我知曉,我將在這篇指南中添加上該作者的名字。
請注意:對於生成的密碼,你必須記住它,或者將它保存到電腦中一個安全的地方。我建議你記住密碼並將它從系統中刪除,因為這比你的系統被黑客控制要好的多。
夥計們,今天就是這麼多了。不久我將帶來另一篇有意思的文章。在此之前,敬請繼續關注。
via: https://www.ostechnix.com/4-easy-ways-to-generate-a-strong-password-in-linux/
作者: SK 譯者:FSSlc 校對:jasminepeng
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive