使用命令列生成高強度密碼

3 贊 回覆發表於2016-11-07

設定一個高強度的密碼是非常重要的,這樣才能夠很好的保護自己的賬號或者伺服器以及確保自己的資料的安全。通常來說,一個高強度密碼至少有 14 個字元,包括大小寫字母、數字和特殊字元,並且要牢記永遠不用那些字典中的單詞。使用長密碼比短密碼要來的安全,因為密碼越長越難猜測。在本文中,我將給你介紹幾個不同方法,讓你可以在 Linux 命令列下生成一個高強度密碼。

使用 openssl 生成高強度密碼

這裡使用 openssl 的 rand 方法,它會生成一個 14 位字元的隨機字元:

openssl rand -base64 14

使用 urandom 生成高強度密碼

這裡我們將使用 tr 條件來過濾 /dev/urandom 的輸出,從而刪掉那些不想要的字元,並列印出第一個出現的 14 位字元。

< /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

使用 pwgen 生成高強度密碼

pwgen 是一個生成隨機、無特殊含義但可以正常拼讀的密碼。

安裝 pwgen,執行:

sudo apt-get install pwgen

安裝好之後,使用以下命令來生成一個 14 位隨機字元:

pwgen 14 1

你也可以使用以下標記:

  • -c 或 --capitalize 生成的密碼中至少包含一個大寫字母
  • -A 或 --no-capitalize 生成的密碼中不含大寫字母
  • -n 或 --numerals 生成的密碼中至少包含一個數字
  • -0 或 --no-numerals 生成的密碼中不含數字
  • -y 或 --symbols 生成的密碼中至少包含一個特殊字元
  • -s 或 --secure 生成一個完全隨機的密碼
  • -B 或 --ambiguous 生成的密碼中不含易混淆字元 ambiguous characters
  • -h 或 --help 輸出幫助資訊
  • -H 或 --sha1=path/to/file[#seed] 使用指定檔案的 sha1 雜湊值作為隨機生成器
  • -C 按列輸出生成的密碼
  • -1 不按列輸出生成的密碼
  • -v 或 --no-vowels 不使用任何母音,以免意外生成讓人討厭的單詞

使用 gpg 生成高強度密碼

我們也可以使用 gpg 工具來生成一個 14 位字元的密碼:

gpg --gen-random --armor 1 14

其它方法

當然,可能還有很多方法可以生成一個高強度密碼。比方說,你可以新增以下 bash shell 方法到 ~/.bashrc 檔案:

genpasswd() { 
    strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 14 | tr -d '\n'; echo
}

當你想要生成一個高強度的隨機密碼時,執行 genpasswd 就好了。


via: https://www.rosehosting.com/blog/generate-password-linux-command-line/

作者:RoseHosting 譯者:GHLandy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章