Bash

Bashでパスワード管理ツールを自作しました

More than 1 year has passed since last update.

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つファイルを作成して管理するようにしたら、圧倒的に楽になりました。