Skip to content

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

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

mkpasswd を使う

インストール

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

1
yum -y install expect

オプション

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

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

使い方

mkpasswd を実行します。

1
2
# mkpasswd
unJe/31Fj

pwgen を使う

インストール

1
2
yum -y install epel-release
yum -y install pwgen

使い方

1
2
3
4
5
6
7
8
# 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 パターンだけ生成する」場合は以下のように実行します。

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

/dev/urandom を使う

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

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