オープンソースのパスワード管理ソフトpassを導入したメモ
パスワードは適当な生成規則を作って運用していたのだが、サービスによっては長さが足りなかったり記号に対する指定が色々あったりで対応出来なくなってきたので、パスワード管理ソフトをついに導入する事にした。
無料のよりは有料の方が安心出来るかな、とか思いながら適当に探していたが、そういえばオープンソースにそういうのがあるに違いないな、と思ったらやはりあった。
pass というやつで、gpgでパスワードを暗号化してローカルで管理するCLIベースの管理ソフト。
使い方
上の本家から引用すると、まず保存しているパスワードは
zx2c4@laptop ~ $ pass Password Store ├── Business │ ├── some-silly-business-site.com │ └── another-business-site.net ├── Email │ ├── donenfeld.com │ └── zx2c4.com └── France ├── bank ├── freebox └── mobilephone
というように一覧出来る。
zx2c4@laptop ~ $ pass Email/zx2c4.com sup3rh4x3rizmynam3
としてパスワードを表示したり、またはターミナルに印字するのがいやな場合は
zx2c4@laptop ~ $ pass -c Email/zx2c4.com Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.
というようにクリップボードに直接送る事もできる。
登録は
zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory
とする。自動生成もできて
zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15 The generated password to Email/jasondonenfeld.com is: $(-QF&Q=IN2nFBx
という感じ。
詳しくは man page 参照。
インストール
僕はmacportsを使っているので
$ sudo port install pass
とした。homebrewの場合は
$ brew install pass
でいけるらしい。色々なlinuxのディストリビューションでもパッケージになってるのでyumとかapt-getでインストール出来るようだ。
セットアップ
gpgについて
passはgpg2を暗号化に利用しているので、まずこいつをセットアップする必要がある。
まず鍵を作る:
$ gpg2 --gen-key
色々と聞かれるので答えて行く。
名前などを入力したあたりで
You selected this USER-ID: "nos"
ユーザーIDが表示されるのでメモっておく。
pass 初期化
暗号化に使うためさっきのgpgユーザーIDを指定する
$ pass init "nos"
お好みでgitもセットアップしておくとパスワードなどの変更の度にcommitされる:
$ pass git init
gpg-agent
gpgの鍵を作成した時のパスフレーズを毎回入れるのは面倒という時は、以下を ~/.bash_profile に書いておくと最初に一回打てばあとはgpg-agentが肩代わりしてくれる。
# from https://blog.kumina.nl/2009/11/gpg-agent-on-macosx/ if test -f $HOME/.gpg-agent-info && kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info` export GPG_AGENT_INFO else eval `gpg-agent --daemon` echo $GPG_AGENT_INFO >$HOME/.gpg-agent-info fi