2017年8月20日日曜日

パスワード管理ソフトKeePassのデータベースを自前サーバーに置いてSFTPで同期する

KeePassでパスワード管理する前に、まずはブラウザが保存しているパスワードがないか確認して、あればすべて削除する。
ブラウザが保存しているパスワードを確認するにはこれを使う。
WebBrowserPassView v1.86 
TeamViewerが乗っ取られた際に、このWebBrowserPassViewをインストールされる例もあるらしいので、ブラウザでパスワードを保存していると大変なことになる。
ブラウザが保存しているパスワードがあればこのウィンドウに表示される。

ブラウザが保存しているパスワードを削除する
Chromeの場合
設定→ユーザー・同期→同期の詳細設定で、パスワードの同期をオフにする。

設定→一番下の詳細設定→パスワードとフォーム・パスワードを管理で保存されているパスワードをすべて削除し、パスワードの管理をオフにする。
「Chromeにログインし、パスワードを同期させている場合」は、自分が使っている他のPCのChromeにもパスワードが同期されてしまい各PC内に保存されているので、
同期させているPCのChromeでも保存されているパスワードがあれば全て削除する。
ブラウザが保存しているパスワードを全部削除したら、WebBrowserPassViewでふたたび確認して空っぽならOK。


Keepassのデータベースを自前サーバーに置いてSFTPで同期する
Keepassの使い方やDropBoxにデータベースを置く方法については他にも説明をされている方がたくさんいるので割愛させていただきたい。今回は、SSHサーバーとSFTPが使える状態の自前サーバー(VPS)にデータベースを置いてKeepassから参照する方法をやってみる。

KeePass
ダウンロード
http://keepass.info/

SFTPを使うにはKeepassにこのプラグインが必要になる。
IOProtocolExt
ダウンロード

http://keepass.info/plugins.html#ioprotocolext

 ダウンロードしたファイルを展開し、1個のディレクトリと2個のファイルをKeepassのあるフォルダーにコピーする。


Keepassを起動し、「ツール」メニューの「プラグイン」を開いて確認する。

IOProtocolExtが読み込まれていればOK。

次に、ローカルドライブに作成したKeepassdデータベースファイル(.kdbx)をWinSCPプログラムやRLoginプログラムなどを使ってサーバーにあらかじめ転送しておき、Keepass起動時にこれをSFTPで読み込むように指定する。

WinSCPで使うPuTTY形式の秘密鍵(.ppk)を作成する
サーバー側のSSHDがパスワード認証の場合はこの手順はスキップしていただきたい。サーバー側が公開鍵認証の場合、WinSCPが読み込むことができるPuTTY形式の秘密鍵(.ppk)を作成する必要がある。PuTTYのインストールフォルダにあるPUTTYGEN.EXEを使って作成するが、今回は既にOpenSSHで作成した秘密鍵があるので、PUTTYGEN.EXEを使ってPuTTY形式(.ppk)に変換したものを使う。公開鍵(.pub)はサーバー側のユーザーディレクトリ内 ~/.ssh/authrizedkeyファイルに既に登録されているものとする。

PUTTYGEN.EXEをダブルクリックで起動。

 「Load」でOpenSSHで作成した秘密鍵ファイルを読み込む。

OpenSSHを使っている場合、デフォルトではユーザーディレクトリの.sshフォルダ(隠しフォルダ)内に秘密鍵・公開鍵・knownhostsのファイルがある。
 All Filesを選択し、OpenSSHで作成した秘密鍵「id_rsa」を読み込む。

 秘密鍵にパスフレーズが設定されている場合はここで入力する。

 パスフレーズが正しい場合は読み込みが成功する。

 読み込んだ状態で、「Save private key」ボタンを押せばPuTTY形式(.ppk)で保存することができる。

 ここでは、元のファイル名「id_rsa」に.ppkをつけた「id_rsa.ppk」とう名前で保存。

KeepassでSFTPからデータベースファイルを読み込む
「ファイル」メニューの「開く」「URLから開く」を選択。

URL:データベースファイル名をフルパスで入力する。
例)sftp://xxx.xxx.xxx.xxx:22//home/user1/ftp/keepass/MYKEEPASSDB.kdbx
ユーザ名:ユーザー名
パスワード:パスワード認証の場合はここに入力。公開鍵認証の場合は空欄のままにする。(パスフレーズをここに入力すると失敗する)
記憶する:ここは任意に選択。公開鍵認証の場合、ここではパスフレーズは保存できないので「ユーザー名のみ覚える」が選択可能。

公開鍵認証の場合「拡張」タブの中で、秘密鍵のファイル名を指定する。
SSH private key pathのところに秘密鍵のファイル名を指定する。

パスフレーズの入力
FTPS/SCP/SFTPのPassphraseのところ入力する。(ただし、入力すると平文で表示されるので注意)
「OK」ボタンを押し、SFTPでのログインが成功するとKeepassのマスターキーを入力または選択するダイヤログボックスが開く。

マスターキーを入力・選択後「OK」ボタンを押すとKeepassデータベースが読み込まれる。
Keepassウィンドウが表示されれば完了。

エントリーを変更した場合にデータベースを自動的に保存するように設定するように「ツール」「オプション」メニューで設定をおこなう。
「データベースをロックまたは閉じるときに自動的に保存」にチェック。

以上。

0 件のコメント: