FTPソフトの定番「FileZilla」は、ホスト名・ユーザー名・パスワードをサイトマネージャーに登録してサーバーへ接続します。一度登録してしまえば毎回入力せずに済むので、そのぶんパスワードそのものを忘れてしまいがちです。
いざ別のFTPソフトを使いたい、サーバーの管理画面に入りたい、他の端末に同じ設定を移したい――そんなときに「あれ、このサイトのパスワードなんだっけ?」と固まった経験、私は何度もあります。
しかもサイトマネージャーの画面ではパスワード欄が「●●●●」とマスクされていて、そのままでは中身が見えません。
この記事では、FileZillaのサイトマネージャーに保存されているFTPパスワードを後から確認する手順を解説します。登録済みのパスワードを思い出したいときの助けにしてください。
FileZillaのパスワードは「のぞき見ツール」では取れない
「●●●●」で隠れた入力欄の中身を表示するタイプのフリーソフトは昔からいくつもあります。ただ、こうしたツールでFileZillaのパスワード欄をのぞいても中身は取り出せません。
FileZillaはパスワードを画面のテキストボックスに実文字で保持しているわけではないからです。表示を剥がすだけの汎用ツールでは狙った文字列にたどり着けません。
では、どこを見ればいいのか。答えはシンプルで、FileZilla自身がパスワードを保存しているデータをエクスポートして、テキストとして読むという方法です。少し回り道に見えますが、これが一番確実です。
接続情報をXMLファイルにエクスポートする
FileZillaはサイトマネージャーの接続情報を「sitemanager.xml」というファイルで管理しています。この中身をエクスポート機能で書き出せば、パスワードも含めて確認できます。
- FileZillaを起動し、上部メニューの「ファイル」を開きます。
- メニューから「エクスポート」を選びます。
- 表示されたダイアログで「サイトマネージャーのエントリをエクスポート」にチェックを入れ、任意の場所にXMLファイルを保存します。
書き出されたXMLファイルには、登録しているすべてのサイトの接続情報がまとまって入っています。
エクスポートしたXMLファイルをテキストエディタで開く
エクスポートしたXMLファイルを、メモ帳や秀丸、VSCodeなど手元のテキストエディタで開きます。中身は次のような形で、サイトごとに接続情報が並んでいます。
<Server>
<Host>ftp.example.com</Host>
<Port>21</Port>
<User>username</User>
<Pass encoding="base64">********</Pass>
</Server>
- 登録サイトが多いときは、エディタの検索機能(Windowsは Ctrl+F、Macは Command+F)でホスト名やユーザー名を打ち込むと、目的のサイトの
<Server>ブロックにすぐ飛べます。 <Host>がサーバーのホスト名、<User>がユーザー名です。- そして
<Pass encoding="base64">の中に入っているのがパスワードです。
ただし、この <Pass> の中身はそのままの文字列ではありません。base64という方式でエンコード(符号化)されているので、あと一手間かけて元に戻す必要があります。
base64エンコードされたパスワードをデコードする
base64は暗号ではなく、文字列を一定のルールで別の見た目に変換しているだけのものです。そのため、対応するデコードツールに通せば元のパスワードにすぐ戻せます。オンラインのデコードサービスを使うのが手軽です。
<Pass encoding="base64">と</Pass>にはさまれた文字列をコピーします。- base64デコードに対応したサイトを開き、コピーした文字列を貼り付けます。
- 「デコード」を実行すると、元のパスワードが表示されます。
これでFileZillaに登録済みのFTPパスワードを取り出せます。デコードに使えるサービスとしては Base64 Decode and Encode などがあります。
マスターパスワードを設定していると中身は読めない
ここまでの方法は、FileZillaがパスワードを平文(暗号化なし)で保存している場合の話です。実は、FileZillaは初期設定のままだとパスワードを平文で保存しています。base64は暗号ではないので、エクスポートさえできれば誰でも中身を読めてしまう状態です。
これが不安な場合、FileZillaにはマスターパスワードという仕組みがあります。「編集」→「設定」から左側の「パスワード」を開き、「マスターパスワードで保護してパスワードを保存」を選んでマスターパスワードを登録すると、保存済みの各パスワードがそのマスターパスワードで暗号化されます。
マスターパスワードを設定している場合、先ほどのエクスポート&base64デコードでは元のパスワードは読めません(暗号化された状態でしか出てこないため)。この場合はサーバー側で新しいパスワードを再発行するのが確実です。
なお、マスターパスワード自体には復旧の裏口がありません。忘れると解除はできても保存済みパスワードはすべて消え、各サイトを登録し直すことになります。設定するなら忘れない管理を徹底してください。
取り出したパスワードとエクスポートファイルの扱いに注意
パスワードを確認できるのは便利ですが、裏を返せばエクスポートしたXMLファイルにはすべての接続情報が丸ごと入っているということです。第三者の手に渡れば、そのままサーバーに侵入されかねません。次の点に気をつけてください。
- エクスポートしたXMLファイルを、共有フォルダやデスクトップなど人目に触れる場所に置きっぱなしにしない。
- パスワードを確認し終えたら、エクスポートファイルは速やかに削除する。
- 心配なときは、この機会にサーバー側でFTPパスワードを再発行し、FileZillaにも登録し直しておく。
- 複数人で使う端末や持ち出すノートPCでは、前述のマスターパスワードで保護しておくと安心です。
まとめ
FileZillaに登録したFTPパスワードは、「ファイル」→「エクスポート」でサイトマネージャーの情報をXMLに書き出し、そのファイルをテキストエディタで開けば確認できます。
パスワードは <Pass encoding="base64"> の中にbase64でエンコードされているので、デコードツールに通せば元の文字列に戻せます。
ただしマスターパスワードで保護している場合はこの方法では読めません。その場合はサーバー側で再発行しましょう。
初期設定のFileZillaはパスワードを平文で保存しているので、エクスポートファイルの置き場所と後始末にはくれぐれも気をつけてください。忘れたパスワードを思い出したいときに、ぜひ役立ててください!