そこそこ長くて文字種の入り混じった強度の高いものを自分で考えるのは面倒です。
暗号化処理を使う際に必要なパスワード文字列を、mkpasswdコマンドでいい感じに生成出来るようにしておきます。
mkpasswdコマンドをインストール
デフォルトでmkpasswdコマンドが入っていないので、どのRPMパッケージで提供されるか調査。
# yum provides \*/mkpasswd
(snip)
expect-5.45-14.el7_1.x86_64 : A program-script interaction and testing utility
リポジトリー : base
一致 :
ファイル名 : /usr/bin/mkpasswd
expectに入っていることが分かったのでインストール。
# yum install expect
(snip)
インストール:
expect.x86_64 0:5.45-14.el7_1
依存性関連をインストールしました:
tcl.x86_64 1:8.5.13-8.el7
完了しました!
/bin/mkpasswdが入りました。
# which mkpasswd
/bin/mkpasswd
パスワード生成関連オプション
man mkpasswdするかWeb版manページで確認。
-l | パスワードの長さ。指定しなかった場合のデフォルトは9。 |
-d | 数字を含める最低数。デフォルト2。 |
-c | 小文字アルファベットを含める最低数。デフォルト2。 |
-C | 大文字アルファベットを含める最低数。デフォルト2。 |
-s | 記号を含める最低数。デフォルト1。 |
-2 | 左手と右手を交互に使うように生成。 |
-2は面白いけど暗号化パスワード生成が目的なので今回は使わないですかね(^_^;
パスワード生成例
- パスワードの長さ16桁
- 数字が4文字
- 小文字アルファベットが4文字
- 大文字アルファベットが4文字
- 記号が4文字
で構成されるパスワードを生成してみます。
# mkpasswd -l 16 -d 4 -c 4 -C 4 -s 4
G07&%yI0rm4Fw"/R
ここまで厳密に指定しなくても、デフォルト値で全ての文字種を入れてくれます。
桁数さえ決めれば、man通りのサンプルコマンド例でも十分ですね。
# mkpasswd -l 15 -d 3 -C 5
2s$jBR8Dx9CMvbc
秘密鍵や公開鍵のパスワードを決める際に頭を悩まさずに済むようになりました。