ただ、今までずっと起動するたびにマスターパスワードを入力していたんですが、それだと毎回だるいので、自動入力できないもんかと調べてみました。
ここで紹介する方法は、Linuxのデスクトップ環境MATEとXfce4で確認しています。多分GNOMEでもうごくとおもいます。KDEは知りません。
マスターパスワードはGNOME Keyringで管理
自動入力といってもさすがにマスターパスワードを平文で保存しておくわけにはいかないので、これは暗号化しておきます。暗号化にはGNOME Keyringを使います。GNOMEやMATEには最初から入っていて、Xfce4でもあとから導入できます。多分KDEでも。導入方法は割愛します。aptとかyumで入れてください。
これにマスターパスワードを登録しておけば、ログインパスワードをキーにしてロックを解除できます。
あとはコマンドラインツールからマスターパスワードを取得してKeePassXCの起動時に渡すという流れ。
マスターパスワードの登録はGNOME KeyringのCLIである
secret-tool
を使います。$ secret-tool store --label "KeePassXC master password" type kdb Password: (ここにKeePassXCのパスワードを入れる)パスワードの入力を求められるので、ここにKeePassXCデータベースのパスワードを入れます。
こんなかんじでパスワードが入ります。
type
とkdb
はそれぞれ属性名と属性値です。なんでもいいのですが、GNOME Keyringは属性名と属性値をユニークなキーとしてデータを格納しています。属性名・属性値は2つ以上あっても構いません。その場合は属性名・属性値の組み合わせがユニークである必要があります。
label
はユニークでなくても構いません。一見するとラベルがユニークである必要があるように思えるかもしれませんが、ラベルはただ表示に使われるだけっぽいです。$ secret-tool lookup type kdb (ここにKeePassXCのパスワードが表示される)あとはこれをKeePassXC起動時に渡してやればOKです。
KeePassXCにパスフレーズを標準入力から渡す
KeePassXCに--pw-stdinという起動オプションがあります。このオプションとパイプを使えばGNOME Keyring内のパスフレーズをKeePassXCに渡せます。$ secret-tool lookup type kdb | keepassxc --pw-stdin /path/to/keepassxc.kdbXfceなら「設定マネージャー」→「セッションと起動」→「追加」からコマンドを登録します。
ただし、パイプを含むコマンドは実行できないかもしれないので、その場合は
sh
コマンドをはさみます。
$ sh -c "secret-tool lookup type kdb | keepassxc --pw-stdin /path/to/keepassxc.kdb"ちなみにキーファイルは
--keyfile
で指定できます。
$ sh -c "secret-tool lookup type kdb | keepassxc --pw-stdin --keyfile /path/to/keyfile /path/to/keepassxc.kdb"
複数のファイルを開きたい場合は?
パスフレーズが指定された複数のファイルを開く方法についてはまだ解決していません。該当部分のコードを見る限り、複数のパスフレーズを改行で区切ったものを標準入力から渡せばよさそうに見えますが、1つめのファイルは開けたものの2つめはパスワードを要求されました。
誰か方法を知っていたら教えてください。
0 件のコメント:
コメントを投稿