bashでパスワード管理ツールを自作しました。名前はpwadです。openssl, mkpasswd, pbcopyに依存しています。
環境
- Mac OS
- bash
機能
- 1つのパスフレーズで複数のパスワードが管理できる
- パスワードをパスフレーズから取得できる(
pwad get <name>
) - パスフレーズを変更できる(
pwad newpass
) - 管理しているパスワードの一覧を標準出力できる(
pwad ls
) - パスワードを生成し、管理しているパスワードに追加できる(
pwad create <name> <account>
) - ヘルプを表示する(
pwad --help
)
使用例
初期化から登録まで次のようにします。
$ pwad init
$ pwad set qiita account1 qiita_password
$ pwad set google account2 google_password
$ pwad ls
google qiita
$ pwad get qiita
account1
$ pbpaste
qiita_password
pwad init
で初期化します。パスフレーズを3回問われますが、3回とも同じ文字列を入力します。pwad get
のときも、パスフレーズの入力を問われます。pwad set <name> <password>
の代わりにpwad create <name>
とすると、自動生成されたパスワードが生成が登録されます。
課題
PCからスマホにパスワードを渡す方法が無いです。QRコードを生成できると良いかもしれません。
実装上のポイント
はじめ、1つのファイルをopensslで暗号化して管理しようとしましたが、1つの名前に対し、1つの値を返すようなハッシュテーブルのようなものを自作しようとしていました。どう考えても面倒なので、結局は1つの名前に対して1つファイルを作成して管理するようにしたら、圧倒的に楽になりました。