この記事はMac環境な方を対象に書かれています。
はじめに
パスワード管理って面倒。。
WebAuthnが2019年にウェブ標準として承認されてしばらく経ちますが、Webサービスでの認証は未だにパスワード(+多要素認証)が全盛ではないでしょうか。
普段のブラウザにパスワードを記憶させたり、秘密鍵が使える環境ならマシかもしれませんが、サイトによっては自動入力に未対応だったり、あらゆる状況でパスワードフリーな時代はまだまだ来なそうなので、Macユーザな私は長年 KeePass(XC) を愛用しています。
今回は、そんなKeePassの運用で感じた課題を拙作のツールで解決する方法を紹介したいと思います。
KeePassの課題
サービス毎に一定のルールに沿ったパスワードを自動生成したり、ユーザ名やURLをまとめて管理したりと多機能な KeePass ですが、コピー&ペースト時にウィンドウを行き来するのが億劫で、ついつい雑なパスワードを作ってしまいそうになっていました。
愛用している KeePassXC にはAutoTypeという機能もありますが、毎回ランダムで出題される秘密の質問には対応できず使用を断念しました。
Alfredについて
Alfredとはコマンド文字列でMacを操作する、Mac界で最強とも言われるランチャーアプリです。CLIに抵抗感がない人には特におすすめできます。後述のワークフロー機能を使うには有料版の購入が必要ですが、その価値はあります。買いましょう。
使いこなしのTIPSはネット上にたくさんあるので別途参照推奨。
Alfred + Workflow
有料版を購入するとワークフローと呼ばれる、コマンドを入力すると予め定義しておいた一定の手順を自動的に実行してくれる機能が使えます。課題となっている煩雑なコピペワークをこの機能を使って解決したいと思います。
※ ワークフロー作成方法についての詳細はここでは触れません。解説記事は他にもあるので探してみてください。ワークフローの中でJSONを操作することでUIをコントロールしています。
ワークフローの導入
ここから先はAlfred 5以降&KeePassXCが必要です。
ここから .alfredworkflow
ファイルをゲットします。インストール後に、KeePassのデータベースファイル、暗号化解除用のマスタパスワードの設定画面が表示されるので、適切に設定します。
設定後、Alfredのコマンド入力画面から kp [検索文字列]
を入力しパスワードの一覧が表示されます。所望のエントリを選択して [Enter] キーを押すとパスワードがクリップボードにコピーされます。
[Enter] を押すときに特定のキーを同時押しすると、コピーするデータが次のように変わります。
キー | 効果 |
---|---|
↵ のみ | パスワードをコピー |
⌘ + ↵ | ユーザ名をコピー |
⌥ + ↵ | URLをコピー |
⇧⌥ + ↵ | URLを開く |
⌘⌥ + ↵ | メモをコピー |
⌃ + ↵ | その他、2段階認証コード、添付ファイル、その他のAttributes |
中でやっていること
KeePassのデータベースファイルから、Alfredに入力されたキーワードにマッチするエントリを所定のJSONに加工し、AlfredのUIに検索結果を表示させています。
おわりに
コマンド一発でパスワードのコピペが出来るようになり満足しています。当然ですが使用中のMacを乗っ取られてしまえば折角の暗号化も無意味です。離席時も含め、マスタパスワードの管理は慎重に。。。
使って頂けると嬉しいですがご使用に際しては自己責任でお願いします。