コマンドラインで「パスワード」を生成する方法【pwgen】 | Linux Fan

コマンドラインで「パスワード」を生成する方法【pwgen】

2017年9月3日

パスワードって、どうやって決めていますか? 新しいパスワードを考えるのって、面倒ですよね。とくに自分でLinuxにWebアプリをセットアップするような人なら、新しいパスワードが必要になることも多いでしょう。

パスワードに使える文字列を生成するWebページなんかもありますが、やはりコマンドラインでやったほうが効率的ですよね。そこで、パスワードに使える文字列を生成するソフト、「pwgen」をおすすめします。

pwgenのインストール

インストールは簡単で、以下の通りパッケージを追加するだけです。

Ubuntu 16.04/Debian 9系の場合

sudo apt -y install pwgen

Fedora 26の場合

sudo dnf -y install pwgen

CentOS 7の場合、EPELレポジトリからインストールできます。有効になっていなければ、以下のコマンドで設定してください。

sudo yum -y install epel-release

その後、以下のコマンドでインストールできます。

sudo yum -y install pwgen

pwgenの使い方

まずは、オプションなしで実行してみましょう。以下のように8文字のパスワード候補がズラッと表示されます。

$ pwgen
Eitu2jae sie5Iesu Ocet7ohk Ei1eiMai Uu8bem6G Ocho0uij eiNg7Eic sete1Ux0
och2Eivo iek6uoQu ohfuj8aN EeGh2Mu0 ETh9Piyi ieKoh3ou Aengae1C eizaiNu6
oW9Taifa BaishaL2 Nie9veey EiRe8doh Pahsh4oo Booph7ee aikotaM7 DeeX2Qua
Ed2buQuu nuh7Ko5a Ii0XaeP9 Iegaef6d iec2Oki0 aeZ5EJae fioM8boe doh7Eeh9
(以下略)

この文字列、ただランダムに出ているのではなく、覚えやすい母音と子音、数字の組み合わせになっています。上記の出力例のうち最初の「Eitu2jae」を見てみても、「えいつーつーじゃえ」とか読めますよね。発音できることで、ぐっと覚えやすくなります。完全にランダムな文字列だと、こうはいきません。

pwgenの後ろに数値を指定すると、文字列の長さと生成する数を変更できます。

pwgen 文字数 生成数

文字数16、生成数4で実行すると、以下のようになります。

$ pwgen 16 4
bait9ieKe8oofie6 eiyoi0eeNg6ahvee shicu3peekae5Tha quaifeo3pi1ujoCh

Webサービスのパスワードは、ブラウザに記憶させている人も多いですよね。また、たとえば「WordPressに設定するデータベースユーザーのパスワード」なんかだと、設定ファイルにパスワードを書くことになります。このような場合は、「覚えやすさ」よりも「複雑さ」を優先したいですよね。それなら、pwgenを以下のように実行してみましょう。

$ pwgen -sy 64 1
0;6e}9p%DS5K0O}[email protected];k]5|zP;$b7da9xu9zG'6I3`;8N\R!mXm>NSW#^|_F6xu0

「-s」は「完全にランダムにする」オプションです。「-y」は「記号文字を含める」オプションです。上記の例だと、両方を指定して64文字のパスーワドを1つ生成しています。覚える必要がないなら、これらのオプションを使ったほうがいいでしょう。