gpgの共通鍵暗号でパスワードファイルを使う

gpgコマンドで、普通に

gpg -c --cipher-algo AES256 -o (出力ファイル名) (入力ファイル名)

みたいに入力すると、ダイアログが出てきて、対話的にそこにパスワードを入力することになる。

パスワードを手で入力するのではなく、パスワードファイルを使いたい場合は、少し長くなるけれど、

gpg -c --cipher-algo AES256 -o (出力ファイル名) --batch --pinentry-mode loopback --passphrase-file (パスワードファイル名) --pinentry-mode

このように、

  • --batch オプションを追加
  • --pinentry-mode loopback オプションを追加(これはmanには必要と書いてあるけど、無くてもいけるかも)
  • --passphrase-file オプションでパスワードファイルを指定

この3つを追加すれば良い。

ランダムなパスワードを生成

gpgコマンドで、ランダムなパスワードを生成することもできる。

gpg -a --gen-random 2 30

/dev/randomを直接使って乱数を出力しても良い。

head -c 30 /dev/random | base64