コンテンツにスキップ

CentOS7 でコマンドからランダムなパスワードを生成する

CentOS7 でコマンドを使ってランダムなパスワードを変更する方法をメモしておきます。

mkpasswd を使う

インストール

初期状態ではインストールされていませんが、標準リポジトリからインストール可能です。

yum -y install expect

オプション

基本的なオプションは以下の通りです。

オプション 意味 デフォルト値
-l 数字 パスワードの長さ 9
-d 数字 パスワードに含める数字の数 2
-c 数字 パスワードに含めるアルファベット(小文字)の数 2
-C 数字 パスワードに含めるアルファベット(大文字)の数 2
-s 数字 パスワードに含める特殊記号の数 1
-2 「キーボードの左側の文字」と「右側の文字」を交互に使ったパスワードにする

使い方

mkpasswd を実行します。

# mkpasswd
unJe/31Fj

pwgen を使う

インストール

yum -y install epel-release
yum -y install pwgen

使い方

# pwgen
aeb1Cowi Ahli1ahs cois5Eiy Ou3uedoo iyeeSh8v id4Yiej1 Eif0oosh veecah7U
Ookah1lu ooVa6ci9 Ee9ahSan beeWah2a siuW2utu Oc4ohmoh Eipik9ie Duk5shei
            cheHaiy7 Iuvei5le igah0OhG Aht6kohp mie2OhJ8 Mua3aeno SheDei1u Huac3eiz
Ahpae6si aijiwaH9 eRe3Ujua Jae7ab5O ee4paeZi eh9AiTho ahFa8tah Noh0eu0e

-s オプションで完全にランダムなパスワードを生成、-y オプションで記号を含んだパスワードを生成します。 「完全にランダムで・記号を含み・20 文字のパスワードを・1 パターンだけ生成する」場合は以下のように実行します。

# pwgen -sy 20 1
zcQ){fQip)JH<&Dm7?sf

/dev/urandom を使う

/dev/urandom を使えば特別なソフトウェアを必要とせず、ランダムなパスワードを作成出来ます。 10 文字のパスワードを生成する場合は以下のようにします。

cat /dev/urandom | base64 | fold -w 10 | head -n 1