Passbox - コマンドラインのパスワード管理
パスワード管理ソフトウェアを使いましょう。無数あるWebサービス、管理サービスなどで使うパスワードをすべて自分の頭で覚えておくなど不可能です。さらに最近では一カ所の流出から他のサービスへのアタックへの利用が進んでいるのでパスワードの使い回しは危険です。 いくつもパスワード管理ソフトウェアはありますが、今回はPassboxというCLIのパスワード管理ソフトウェアを紹介します。
Passboxの使い方
Passboxのヘルプです。
$ ./passbox
usage: ./passbox [action]
Passbox - command line password manager utility
ACTIONS
add-field <entry name> Update an existing entry to add additional fields to
delete </entry><entry name> Remove an entry from the password database
get </entry><entry name> Get a particular password entry by it's name
generate Generate a new random password
new Prompt to create a new passbox entry
remove-field </entry><entry name> <field name> Update an existing entry to remove additional fields
search <search pattern> Search the password database for a particular string, returns all matchin entries
update <entry name> Update an existing entry in the password database
例えば新しいエントリーを作る場合はnewを実行します。パスワードの長さも自由に決められます。また、保存する際のGPGパスワードも設定します。
$ ./passbox new
Name: Test Account
Username: moongift
Generate password? (y/n, default: y) y
Password length? (default: 20, max: 100) 12
Password: 0TqSRStVWsJs
Enter password to unlock /Users/nakatsugawa/passbox.gpg: *********
Done
特定のアカウントを探すときにはgetを使います。ファイルを読むためのパスワードは毎回入力します。
$ ./passbox get "Test Account"
Enter password to unlock /Users/nakatsugawa/passbox.gpg: *********
Name: Test Account
Username: moongift
Password: 0TqSRStVWsJs
generateを使うとパスワードの生成だけできます。
$ ./passbox generate
Password length? (default: 20, max: 100)
oJHzIU7hJ1LMsaQ5blzn
検索もできます。こちらは文字の大文字、小文字をチェックしません。
$ ./passbox search test
Enter password to unlock /Users/nakatsugawa/passbox.gpg: *********
Name: Test Account
Username: moongift
Password: 0TqSRStVWsJs
PassboxはBashスクリプトだけで作られている点が興味深いです。パスワードの書かれたファイルはGPGで暗号化されていますのでパスワードが十分に長くて、かつ漏れない限りは安全と言えそうです。CLIで使えるのでサーバの中でもシステム連携としても使えそうなソフトウェアです。
PassboxはBash製のオープンソース・ソフトウェア(MIT License)です。