長らくパスワード・マネージャーとしてKeePassを使っていたが、そのクロスプラットフォームのクライアント・アプリケーションであるKeePassXCに乗り換えようとしている。KeePassのデータベースをそのまま利用できるのでインターフェイスが変わるだけだ。操作感も少し変わる。データベース・ファイルの扱いに多少の不安があるが、今のところ問題なく動いているようだ。
ともかくCLIアプリケーションが別に存在するので助かる。本体を常駐させなくても動くため、自由度は(もちろん危険度も)かなり高い。show
コマンドなどは平文でパスワードをターミナルに表示するので、ログに残る(ConEmuで完全なログを取っている場合はそれにも残る)ことは頭に入れておいた方が良い。
$ keepassxc-cli clip default.kdbx Twitter 13
このようなコマンドによって、default.kbdx
のルートにあるTwitterという名前のエントリーからパスワードがクリップボードにコピーされる(13秒後に削除される)。データベースにマスター・キーとしてパスワードが設定されていた場合は、プロンプトを使って確認される。
Node.jsからKeePassのデータベース・ファイルを扱いたい場合にも、このCLIアプリケーションを叩くのが現実的な気がしてきた。もちろん自作で個人用のツールに限った話にはなるが、かなり効率が良さそうだ。
CLIアプリケーションはマスター・キーとしてキー・ファイルを指定するオプションも持っている。そのためデータベースにはパスワードはかけず、持ち歩くUSBドライブにキー・ファイルを置いておくという運用もできそうだった。しかしパスワードなしでキー・ファイルのみだと、CLIアプリケーションではうまく開けない(GUIアプリケーションでは開ける)ようだ。イシューを立てたいが勘違いしていそうなので、すこし頭を冷やしている。
操作感でつまづいたのはロックすると即クリップボードが削除されるところだ。つまりクリップボードにコピーした時に最小化するように設定し、かつ最小化した時にロックするように設定してしまうと、クリップボードからペーストできない。最小化でのロックを諦め、無操作でのロックのタイムアウトをクリップボードのタイムアウトと揃えると良さそうだった。
またiOSでメジャーなMiniKeePassはKDBX v4をサポートしていないので、既存のデータベース・ファイルの設定は変えない方が良い。不安があるのなら編集をMiniKeePassで行うようにしても良いかもしれない。過去バージョンでデータベース・ファイルが壊れる不具合はかなりあったようなので、バックアップは(安全なストレージがあるのならCSVファイルで)しておくべきだろう。
ChromeやFirefoxとはデフォルトで連携可能になっている。もちろんブラウザー側で拡張(アドオン)をインストールする必要はあるが、それだけなので難しくない。KeePassHttpと比べるとセキュアな形でオートフィルされるらしい。Edge対応は難しそう(ループバック!)だが、頑張ってほしい。
現時点でも足りなさそうな機能はあまりない。強いて挙げるなら2段階認証への対応だろうか。認証部分なので別にした方がセキュアだ、という考え方もありそうなので難しいところだ。とにかくKeePassであまり困っていない人くらいなら、CLIアプリケーションのためだけでも乗り換える価値はあるだろう。