概要

KeePassXで使っている2つ以上のデータベースファイルを1つに合わせたい。
普通に考えたら、KeePassXのメニュー内にある[エクスポート]機能や[インポート]機能を使えば、これが実現できそうなもの。しかしKeePassX でこれをやると、インポートしたときになぜか元々開いていたデータベースの内容が全て消えてしまった(+_+) 
このため、別の方法を試してみた。
それぞれのデータベースファイルをいったん[KeePassX XMLファイル] にエクスポートしてから、それらの中身をテキストエディタで1つに合体させるという方法である。

詳細

環境

  • OS:Linux Mint 17.3 Rosa
  • KeePassX のVer.:0.4.3

やってみた手順

ここでは仮に、3つのKeePassXデータベースファイル、”a.kdb”,”b.kdb”,”c.kdb” があるとする。

1. これらのKeePassXデータベースファイルそれぞれにつき、以下を行う。
– KeePassX でデータベースファイルを開く。
– メニューバーの[ファイル] — [エクスポート] — [KeePassX XMLファイル] を選択
– XMLファイルとして保存する。
⇒ ここでは、それぞれのファイル名を”a.xml”,”b.xml”,”c.xml” にしたとする。

2. それぞれのXMLファイルを、テキストエディタで開く。

3. 代表とするXMLファイルを決める。
ここで決めたXMLファイルの「マスターキー」のみが、後でKeePassXで開いた際に有効となる。
⇒ ここでは”a.xml” を代表とする。

4. 以下のように、”a.xml” の中の一番大きなタグすなわち<database>〜</database>タグの中の最後に、他のXMLファイルの中の<database>〜</database>タグの中身のみをコピペする。
– “a.xml” の最後尾にある</database>タグの上を、何行か空白改行しておく。後でこの位置に別のXMLファイルの中身をコピーするために。

Kazam_screenshot_00519.png

– “b.xml” の中の<database>〜</database>タグ配下の中身のみをクリップボードにコピーする。
※<database>,</database>タグそのものはコピーしない。
– “a.xml” の</database>タグの上の行に、上記でコピったクリップボードの中身を貼り付ける。
– “c.xml” についても、同じようにコピペしていく。
– “a.xml” を保存する。

5. KeePassX を起動する。

6. メニューバーの[ファイル] — [インポート] — [KeePassX XML(*.xml)] を選択し、”a.xml” をインポートする。

7. 通常のKeePassX データベースファイル(.kdb)として保存する。

参考にしたページ

https://forum.keepassx.org/viewtopic.php?t=3591

所感

ちょっとめんどくさかったけど、編集すべきファイルがXMLファイルというところがまだ分かりやすくて救いだった。

広告