FileZillaでエックスサーバーにSFTP接続で安全にファイル転送する方法

2843144877_fd9593fdca_b

セキュリティーは、低いよりは高くしておくに越した事はありません。

今回は、SFTPという接続方法を利用して、FTPよりは安全にファイルを転送する方法を紹介したいと思います。

以前、「エックスサーバーってSFTPでファイルをアップロードできないのか?」と思い調べたことがありました。

そしたら、ちゃんとできるようになっていたので、その時設定した方法を紹介したいと思います。

ちなみに、エックスサーバーについての詳細は以下。

個人が本気でサイト運営をしようと思ったら、以下のポイントは欠かせません。高性能 安定稼働 低価格 丁寧なサ...

photo by Ben Smith

スポンサーリンク
レクタングル(大)広告

FTPとSFTP

エックスサーバーを利用している多くの人が、サーバーにファイルをアップロードするのに、FTPなどを使用しているかと思います。

ただ今回は、そのFTPではなく、もっとセキュリティーの高いSFTPというプロトコルを利用したファイル転送の方法です。

FTPとSFTPの違いは、簡単に説明すると以下のようになります。

  • FTP:データ自体(接続ID、パスワード含む)暗号化されず、そのまま通信している
  • SFTP:FTPで送受信するデータを、暗号化して通信している

簡単に例えるとFTPの場合は、ただの糸電話みたいなものかと思います。

糸電話の場合は、双方、生の声(データ)をやりとりするので、間に枝をつければ、盗聴できる状態にあります。

糸電話
photo by Paul Downey

反面、SFTPの場合だと、声(データ)を暗号化してから糸を震わせる事になるので、間に盗聴が入っても、声(データ)自体が暗号化されているので、盗聴者は盗聴できたとしても何を言っているのかわからない状態になります。

そういったことで、ファイルの転送をFTPからSFTPにすると、通信の安全性を大きく上げることができます。

ただ、SFTPで接続するとなると、設定時に少しだけ余計に手間がかかります。

けれど覚えてしまうと、そこまで難しいこともしないので、セキュリティーを高めたい場合は、SFTPを使った方法がおすすめです。

今回は、僕が使用しているエックスサーバーの設定を例として紹介します。

主な手順

エックスサーバーで、SFTPを利用するのに必要な主な手順は以下です。

  1. エックスサーバー側でSSHの利用を有効にする
  2. 暗号化するための鍵を作成する
  3. FileZillaに秘密鍵を登録
  4. FileZillaでサーバー設定をする

今回は、FileZillaを利用した、SFTP接続の方法を紹介したいと思います。

SSHの利用を有効にする

まずは、エックスサーバーでSFTPを利用するために、SSHの設定を有効にします。

とりあえず、エックスサーバーのサーバーパネルに移動してログインしてください。

すると、以下のような管理パネルが表示されるので、「SSHの設定」をクリックします。

SSHの設定をクリック

すると、以下のような「SSH設定」画面が表示されるので、「ONにする」ボタンを押して、SSHの設定を有効にしてください。

SSHの設定を有効にする

ボタンを押すと、次のような画面が表示されます。もう一度、「SSH設定」タブをクリックします。

SSHの設定タブをクリック

以下のように、状態が「ON」になっていれば設定は完了です。

SSHの設定が有効になっている

あと、通常SSHでの接続ポートは22を使うのが一般的ではありますが、エックスサーバーではおそらくセキュリティー性を高めるため10022ポートを利用しているのだと思います。

暗号化するための鍵を作成する

次に、SSH接続に必要な、公開鍵認証用の鍵ペア(公開鍵・秘密鍵)を生成します。

先程の「SSH設定」画面から「公開鍵認証用鍵ペアの生成」タブをクリックします。

公開鍵認証用鍵ペアの生成

すると、以下のようなパスフレーズ入力欄が表示されるので、「パスフレーズ」を入力して「公開鍵認証用の鍵ペア生成(確認)」ボタンを押します。

公開鍵認証用の鍵ペア(公開鍵・秘密鍵)を生成

パスフレーズは、覚えやすくて忘れにくいパスワードみたいなもので良いと思います。

追記:FileZillaで秘密鍵の登録をするときに、結局パスフレーズが無効化されるので、パスフレーズは空欄でも良いのかも。

すると、以下のような画面になります。

公開鍵認証用の鍵ペア生成処理が実行

「公開鍵認証用の鍵ペア生成(確定)」ボタンを押すと、鍵ペアが生成されダウンロードできるようになります。

ダウンロードされるファイルは、「サーバID.key」のようなファイル名になります。

サーバーID.key

FileZillaに秘密鍵を設定する

次に、FileZillaの設定です。

FileZillaは、FileZilla プロジェクト日本語トップページからダウンロードすることができます。

ダウンロードしたFileZillaを起動すると以下のようになります。

FileZilla起動画面

まずは、FileZillaの設定画面からSFTPクライアントの設定を行います。

メニューの「編集→設定」を選択します。

FileZillaの設定からSFTP設定

すると、以下のような、「設定」ダイアログが表示されるので、①SFTPページを選択し、②「鍵ファイルを追加」ボタンを押します。

設定ダイアログ

すると、以下のような「鍵ファイルの変換」ダイアログが表示されるので「はい」を選択してください。

鍵ファイルの変換ダイアログ

すると以下のように「パスワードが必要」ダイアログが表示されるので、先程エックスサーバーで入力した「パスフレーズ」を入力し「OK」ボタンを押します。

追記:エックスサーバーでパスフレーズを空欄で登録した場合は、この作業は不要になります。

「パスワードが必要」ダイアログ

すると、秘密鍵を保存するためのダイアログが表示されるので、秘密鍵となるファイルを、任意の場所に保存してください。(※このファイルは、ずっとそこに保存しておいてください。)

秘密鍵を保存

すると以下のように、秘密鍵が登録されます。

秘密鍵が登録された

FileZillaでサーバー設定をする

最後に、サーバー設定を行うとSFTPでエックスサーバーに接続できるようになります。

メニューの「ファイル→サイトマネージャ」を選択します。

ファイル→サイトマネージャ

すると、以下のようなダイアログが表示されるので、「新しいサイト」ボタンをクリックします。

新しいサイトをクリック

すると以下のような画面が表示されます。

サーバー情報を入力

サーバーの設定情報は、以下のように入力します。

  1. ホスト:サーバーID.xsrv.jp(FTPのホストと同じ)
  2. ポート:10022
  3. プロトコル:SFTP – SSH File Transfer Protocol
  4. ログオンの種類:通常
  5. ユーザー:サーバーID(サーバーパネルにログオンする時のID)
  6. パスワード:パスワード(FTPのパスワード)

設定が完了したら「接続」ボタンを押します。

すると、以下のような「不明なホスト鍵」ダイアログが表示されるので、「常にこのホストを信用し、この鍵をキャッシュに追加」にチェックを付けて「OK」ボタンを押します。

不明なホスト鍵

最後に、「接続」ボタンを押せば、SFTPでエックスサーバーにファイルを転送することができるようになります。

接続ボタンを押す

まとめ

エックスサーバーにFileZillaでSFTP転送を行うには、このような手順が必要です。

FTP接続より、SFTP接続の方が、初期設定時に多少の手間はかかりますが、登録してしまえば、あとの使い方は同じです。

「FTPでそんなたいしたデータを転送しているわけじゃないから」と思うかもしれませんが、とりあえず、FTPよりSFTPにしている方が、運用方法さえしっかりしていれば、安全性が高いのは間違いありません。

まだFTPを利用している方で、「大事なサイトのセキュリティーを向上させたい」なんて場合は、ぜひ。

『FileZillaでエックスサーバーにSFTP接続で安全にファイル転送する方法』へのコメント

  1. 名前:ななみ 投稿日:2016/04/21(木) 15:07:18 ID:61e352dc9

    FileZillaでエックスサーバーにSFTP接続で安全にファイル転送する方法(2015.2.21)について拝見し、同じようにやってみたのですが、filezillaの画面で赤字で《エラー サーバに接続できませんでした》と最終列で表示されます。他にも緑字でレスポンスなどいろいろ出てきますが、どこが間違っているかさっぱりわかりません。
    アドバイスなどありましたら、教えていただけないでしょうか。

  2. 名前:ななみ 投稿日:2016/04/21(木) 15:52:31 ID:61e352dc9

    たびたびすみません。先程コメントしたあといろいろ試した結果、黒字で《ディレクトリ一覧の表示成功》となり、どうやら設定できました!
    [FileZillaに秘密鍵を設定する]の段階で、そもそも設定が出来ていないようでした。
    出来た後なので仮説でしかないですが、①最終段階でOKボタンを押さなかった ②ファイルの置き場所に全角が混じっていた のどちらかが原因かなと思われます。
    コメント欄、お騒がせいたしました。
    ありがとうございました。

  3. アバター画像 名前:わいひら 投稿日:2016/04/21(木) 22:46:41 ID:d20820617

    いえいえ、うまくいったようでよかったです。
    FileZillaの設定で、つまずきやすい部分もわかるので、有益な情報ありがとうございます!

  4. 名前:aimi 投稿日:2017/10/03(火) 12:44:26 ID:0870d3940

    こんにちは。aimiと申します。一通り終え、とてもお役に立つ情報をありがとうございます。スマホからは鍵マークが緑色になり設定完了になったのですが、pcからがどうやらできていないようです。(黄色の三角マーク)どうすればよいでしょうか・・・・・(悩)
    ホスト:サーバーID.xsrv.jp(FTPのホストと同じ)
    ポート:10022
    プロトコル:SFTP – SSH File Transfer Protocol
    ログオンの種類:通常
    ユーザー:サーバーID(サーバーパネルにログオンする時のID)
    パスワード:パスワード(FTPのパスワード)
    原因はここかなと思うのですが、その通りいれてもうまくいきません。

  5. アバター画像 名前:わいひら 投稿日:2017/10/03(火) 23:54:38 ID:6559687de

    書き込まれた内容に特に問題もなさそうなので、原因を検索してみたら、以下のような記事を見つけました。
    FileZillaでsftp接続ができない時の対処法 – SublimeなLife日記
    秘密鍵が置いてあるフォルダのパスの中に、日本語とかが含まれていないでしょうか?
    これが原因でなかったら、僕もちょっとこれ以上のことはわからないかもしれません。

  6. 名前:aimi 投稿日:2017/10/04(水) 16:00:52 ID:68cda9b52

    返答ありがとうございます。日本語が含まれていました。半角の名称にして、再度接続しましたが、直らないです。黄色の三角マークのままだと問題になりますでしょうか?ちなみに秘密鍵パスワードは空欄にしました。←ここはエックスサーバーだと問題ない、と書かれていますね。

  7. アバター画像 名前:わいひら 投稿日:2017/10/05(木) 23:42:59 ID:4888ce0fd

    僕の場合、三角マークが出たことがないので詳しいことはわからないのですが、何かマウスカーソルを乗せるとエラーメッセージ的なものが出たりするのでしょうか?
    それと、三角マークが出た状態でも、FTPでログイン出来るのでしょうか?

  8. 名前:T2 投稿日:2018/02/11(日) 09:51:22 ID:45ec2da34

    どの記事を読んでもとてもわかりやすいし見やすい記事で感謝しています。
    当方もXサーバー以上のホスティングサービスは無いと思っていましたが、mixhostの記事を読んで目から鱗状態でした。
    今後ともいい記事の執筆を期待しております。

  9. アバター画像 名前:わいひら 投稿日:2018/02/12(月) 12:34:49 ID:034d42748

    そう言っていただけると嬉しく思います。ありがとうございます。
    mixhostはカタログスペックにおいては、ここに敵うところは今のところなさそうです。追加料金なしの無料でバックアップ体制がここまで整っているものもないですし。
    ただ、自力ではエックスサーバーも負けてはないと思います。安定感で言えばエックスサーバーかもしれません。

  10. 名前:マカロン 投稿日:2019/05/06(月) 20:37:21 ID:6cc57c86a

    はじめまして。

    参考にさせていただき、最後まで作業を行いました。
    質問があります。

    filezillaの今現在、エラー赤字で2行
    1 server unexpectedly closed network connection
    2 サーバに接続できませんでした
    と表示されています

    以前質問されているななみさんと似たような状況でしょうか。

    どこまで戻り、これからなんの作業をすればいいのか、分かりかねます。

    自分では、エックスサーバーで入力した秘密鍵が16文字で長いからなのかな、と思いますが。

    次は、なにをしたらよろしいでしょうか。

    恐れ入りますが、教えていただけたら幸いです。

  11. 名前:マカロン 投稿日:2019/05/06(月) 23:54:26 ID:6cc57c86a

    度々失礼いたします。
    補足がございます。

    サーバーのホスト鍵は不明です、サーバーはあなたが〜のあとですが、その次に
    パスワードを入力 このサーバのパスワードを入力
    ホストユーザーチャレンジ
    終了するまでパスワードを記憶という画面になりました。※小さな画面です

    このパスワードは、サーバーのパスワードのことでいいんでしょうか?

    最初は、エックスサーバー上の ssh 公開鍵〜で
    本日作成したパスフレーズで入りましたが、それでは入れませんでした。

    お忙しいところ申し訳ありません。

    これからも、応援しています(^^)

  12. アバター画像 名前:わいひら 投稿日:2019/05/08(水) 23:37:52 ID:5041d465f

    申し訳ないですが、書き込まれた内容ではちょっとわからないです。
    僕からは、マカロンさんがどのような設定をされたかを調べようがなく
    途中何か手順が間違っていたとしても、僕からはわからないので。

    もしSFTPでなくて良いのであれば、こちらの設定で暗号化すれば、通常のFTPよりはセキュリティー性が高いかと思います。
    https://www.xserver.ne.jp/manual/man_ftp_filezilla_setting.php

  13. 名前:マカロン 投稿日:2019/05/09(木) 22:43:59 ID:5697e35a2

    早速のお返事ありがとうございました。

    不明なホスト鍵のあとに、こちらのブログ内に記載のなかった作業が、ひとつだけ追加で必要でした。

    ですので、そのパスワード入力画面詳細対応について知りたいと思い調べたところ、同じ項目が出ている方もいるようでしたが、
    解決できませんでした。

    最後に教えていただきたいのですが、
    教えてくださった作業をする場合はFTP制限も一緒にしなければならないんでしょうか?

    もちろん、した方がセキュリティー上いいと思いますが。

    恐れ入りますが、もし、ご存知でしたら、ご連絡ください。

  14. アバター画像 名前:わいひら 投稿日:2019/05/10(金) 12:08:56 ID:eeab97a0b

    僕が登録したときの全手順を書いたんですが、ちょっと仕様変更があったのかもしれませんね。

    教えてくださった作業をする場合はFTP制限も一緒にしなければならないんでしょうか?

    これは、XSERVERのIPによる「FTP制限設定」ですよね。
    できればやっておいた方が、セキュリティーが断然高くなるのは間違いないです。
    僕は制限を行っています。
    サーバーパネルから、IPを入力してボタンを押すだけなので、結構簡単ですし。

  15. 名前:マカロン 投稿日:2019/05/12(日) 13:21:55 ID:0af183d0a

    ご親切にありがとうございました。

    今後ともよろしくお願いします。