KeePass を使う
パスワード管理はずっと Firefox のを使ってたんだけど、9月頃から KeePassXC を使い始めた。しばらく使ってみてそれなりに使えてるのでメモ。なお KeePass と KeePassXC の違いはよくわかってない。
KeePassXC はデータベースを開くためにパスワードだけじゃなくてキーファイルも必要とできるので、データベースファイルはクラウド上に置いて、キーファイルを Ubuntu やスマホのローカルに置くという構成にしてる。
Ubuntu 上で Firefox の abount:logins
から「ログイン情報をエクスポート」で CSV で出力しておく。
KeePassXC のインストールと設定
Ubuntu で keepassxc をインストール:
% apt install keepassxc
アプリから KeePassXC を起動:
「CSVからインポートする」でエクスポートした CSV を選択。
データベース名を入力:
「データベースの資格情報」でパスワードを指定し、「保護を追加…」でキーファイルを追加する。キーファイルの追加はあとでもできる。
CSV フィールドの列の関連付けはこんな風にしたら良さそうな感じ?
ここで一旦 KeePassXC を終わらせる。ウィンドウを閉じただけだと終わってないので、メニューから「終了」を選ぶ。
Googleドライブ上にデータベースファイルを置く
Android でも使いたいので、データベースファイルを Google ドライブ上に置く。
Ubuntu で Google ドライブをマウントする方法はいくつかあるみたいだけど、rclone と systemd を使うのが一番良さそうだった。
rcloneでGoogleDriveとかDropBoxとかをお洒落にマウントする - おしゃれな気分でプログラミング を参考にした。というかそのまんま。
rclone をインストール:
% sudo apt install rclone
~/.config/systemd/user/home-tommy-gdrive.mount
というファイルを次の内容で作成:
[Unit]
After=network-online.target
[Mount]
Type=rclone
What=drive:
Where=/home/tommy/gdrive
Options=vfs-cache-mode=full
[Install]
WantedBy=default.target
systemctl コマンドでマウントできる:
% systemctl --user start /home/tommy/gdrive
ちゃんとマウントできてる:
% mount | grep gdrive
drive: on /home/tommy/gdrive type fuse.rclone (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
マウントを解除するには systemctl で
% systemctl --user stop home-tommy-gdrive.mount
とやってもできるけど、umount
の方が簡単:
% umount gdrive
自動的にマウントされるようにするには systemctl で:
% systemctl --user enable home-tommy-gdrive.mount
KeePassXC で作成したデータベースファイルをマウントしたディレクトリ配下にコピーして、次に KeePassXC を起動したときにそのファイルを指定すればOK。
スマホに Keepass2Android をインストール
Android 用の KeePass アプリはいくつかあるけど、Keepass2Android を使ってみた。
あらかじめ、上記で作ったキーファイルをどうにかして Android 上にコピーする。自分は家庭内NASがあるのでそれ経由でコピーした。Ubuntu と Android を USB ケーブルで接続してもコピーできると思う。
Google ドライブ使ってコピーしてもいいけど、データベースファイルとキーファイルが同じ場所に置いてあるとキーファイルを使ってる意味がないので、コピー後は Google ドライブ上から消しておくこと。
「ファイルを開く」から「Googleドライブ」を選択して、上で Google ドライブに置いたデータベースファイルを選択。
「マスターキーの種類を選択」で「パスワード+キーファイル」を選択し、パスワードとキーファイルを指定する。
Android の設定の「パスワードを管理」→「自動入力サービス」で Keepass2Android を選択する。
アプリでログインするときに Keypass2Android を使って自動入力できるようになる。
おわり
これでアカウントを Ubuntu から登録しても Android から登録しても両方から使えるようになった。ときどき Ubuntu から登録したアカウントが Android で見れないことがあるけっど、よくわかってない。データベースを開き直したら使える。
まだいまいち使い方がわかってないところはあるけど、なんとなく使えてるからまあいいかな〜。
Google ドライブが使えなくなるとパスワードが失われてしまうのはアレなので、定期的にローカルにバックアップするようにしてる。
年が明ける前に書いた。えらい!
Discussion