KeePass⁠X⁠C⁠へ

長らくパスワード・マネージャーとして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アプリケーションのためだけでも乗り換える価値はあるだろう。