パスワード自動生成コマンド:Linux編

投稿者: | 2018年4月19日

Windowsでは bkpmaker が便利

今までパスワード生成には、Windowsフリーソフトの「bkpmaker」を利用していました。

最近、Windows自体を起動する機会が減ってきたので、一層Linuxへの依存度を深めつつあります。
単発の作業のためだけにWindowsを起動するのは面倒なので。
(マシンパワーが必要で当該PCがその処理に専有される場合はともかく)。

Linuxでは pwgen が便利

Linuxでは、pwgen(パスワードジェネレータ)コマンドが便利です。

使い方

ターミナルでコマンドを入力します。

引数を指定しないと、標準で160個のパスワード(8桁・大文字・数字含む)が生成されます。
詳細は「man pwgen」をご参照ください。

$ pwgen
Moh5ooth aveiP6oh Eipieg7S Niedie8v Tahteir9 Eiz1ohCh baY8iesh Nee2Raey
keeZ3aiv EicooGh7 quees2Th Ejoo7eeK leiTh0af eiy4ahS5 eechohF6 Eegh5pai
...以下略

未導入の場合

下記のように「インストールされていません」と表示された場合は、aptコマンドでインストールします。

$ pwgen
プログラム 'pwgen' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt install pwgen

$ sudo apt-get install pwgen

以下のパッケージが新たにインストールされます:
  pwgen
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。

インストール後、pwgen を実行するとパスワードをコマンドラインで生成できます。

引数詳細

$ pwgen --help
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

Options supported by pwgen:
  -c or --capitalize
    Include at least one capital letter in the password
    パスワードに少なくとも1つの大文字を含める
  -A or --no-capitalize
    Don't include capital letters in the password
    パスワードに大文字を含めない
  -n or --numerals
    Include at least one number in the password
    パスワードに少なくとも1つの数字を含める
  -0 or --no-numerals
    Don't include numbers in the password
    パスワードに数字を含めない
  -y or --symbols
    Include at least one special symbol in the password
    少なくとも1つの特別な記号をパスワードに含める
  -s or --secure
    Generate completely random passwords
    完全にランダムなパスワードを生成する
  -B or --ambiguous
    Don't include ambiguous characters in the password
    あいまいな文字をパスワードに含めない
  -h or --help
    Print a help message
  -H or --sha1=path/to/file[#seed]
    Use sha1 hash of given file as a (not so) random generator
    与えられたファイルのsha1ハッシュを生成値として使用する
    オプションでseed(ユーザの指定文字列)と組み合わせて生成可
  -C
    Print the generated passwords in columns
    生成されたパスワードを列表示する
  -1
    Don't print the generated passwords in columns
    生成されたパスワードを列表示しない
  -v or --no-vowels
    Do not use any vowels so as to avoid accidental nasty words
    偶発的な厄介な言葉を避けるために母音を使用しない

サンプル

試しに、30桁で1つ作成してみます。

$ pwgen -syB 30 1
}=!A~oEf"TKk[=]ps;EjKV#$+y7#Rn 

なかなかよい感じに作成できています。
なお、私はパスワード管理に「Buttercup」を使っています。

2018.7.20 サンプル追加

列表示

複数生成時に列表示するにはオプションに「1」を追加します。

$ pwgen -syB1 30 5
記号なし

オプション「y」(symbols)を指定しなければ英数字のみで生成されます。

$ pwgen -sB1 30 5