エックスサーバー(XSERVER)を利用していると、レンタルしているサーバーと自身のローカルPCでファイルのやり取りをしたいという場面が出てくるかと思います。
その際、「FTPでファイルをアップロード、ダウンロードする」などの文言を目にすることがあると思います。
「正直なにを言ってるのかわからない」という人向けに簡単に説明からやり方までを説明していきます。
1.FTPとは?
1-1.そもそもFTPって何?
1-2.セキュリティの強固なSFTP
1-1.そもそもFTPって何?
FTPはファイル転送プロトコルのことです。
「ファイル転送プロトコル???」となった方に簡単に説明します。
コンピューターを利用していると、別の機器と通信をすることがあります。
通信をするには、それぞれ専用のルールが必要です。
例えば、メールでは「メール専用のルール」、ビデオ通話では「ビデオ通話専用のルール」が必要です。
同じように、ファイルの転送をするのにも「ファイル転送専用のルール(FTP)」が必要です。
このルールをプロトコルといい、それぞれのプロトコルにはそれぞれ名前がついているわけですね。
1-2.セキュリティの強固なSFTP
FTPプロトコルは一般的には、あまり利用しないほうが良いと言われています。
FTPはセキュリティが甘く、悪用される危険性が高いためです。
そのため「FTP」を利用するよりは、セキュリティの強固なプロトコル「SFTP」を利用したほうが良いです。
SFTPはSSHプロトコルによる暗号化の機能を活用したファイル転送プロトコルになります。
詳細に説明をすると難しくなるので、ここでは「FTPよりはSFTPのほうが安全」ということを覚えていただければと思います。
FTP:通信が暗号化されていないので「危険」
SFTP:通信が暗号化されているので「FTPより安全」
2.ローカルPC側の設定
自身の利用しているPC(ローカル)の設定について説明します。
2-1.ローカルPCへWinSCPをダウンロード
2-2.ローカルPCへWinSCPをインストール
2-3.WinSCPで公開鍵と秘密鍵の作成
2-1.ローカルPCへWinSCPをダウンロード
エックスサーバーとファイルのやり取りをするためには、ファイル転送ソフトが必要です。
今回は無料の「WinSCP」というソフトを利用します。
下記からダウンロードをしてください。
https://forest.watch.impress.co.jp/library/software/winscp/
2-2.ローカルPCへWinSCPをインストール
WinSCPをローカルPCへインストールします。
1.ダウンロードした「WinSCP-x.xx.x-Setup.exe」を起動
2.「許諾」を選択
3.標準的なインストールを選択しクリック「次へ」を選択
4.コマンダーまたはエクスプローラーどちらでも良いので選択し「次へ」を選択
5.「インストール」を選択
6.「完了」でインストールは終了です
2-3.WinSCPで公開鍵と秘密鍵の作成
SFTPを利用するのに必要な公開鍵と秘密鍵を作成します。
1.スタートメニューから「WinSCP」を起動
2.ツールから「Puttygenを実行」を選択
3.「Generate」をクリックし、マウスを数秒動かします
4.「Save pribate key」を選択し、ローカルPC上に秘密鍵を保存します
5.画像の赤枠部分に表示されたテキストを「Ctrl + a」で全選択してコピーします
※コピーしたテキストは「エックスサーバー側の設定」で使用します
以上でローカルPC側の設定は完了です。
3.エックスサーバー側の設定
エックスサーバー側でも事前設定をおこないます
3-1.SSH設定の有効化
3-2.公開鍵の登録
3-1.SSH設定の有効化
SFTPを利用するために、エックスサーバー側でSSH接続設定を有効化する必要があります。
1.エックスサーバーへログインをして「サーバー管理」を選択します
2.アカウントから「SSH設定」を選択します
3.SSH設定を「ONにする」にして「設定する」を選択します
3-2.公開鍵の登録
SFTPを利用するために公開鍵を登録します。
1.公開鍵登録・更新を選択し、空白部に2-3でコピーしたテキストを貼り付け、「確認画面へ進む」を選択
2.「登録する」を選択
以上でエックスサーバー側の設定は完了です。
4.WinSCPでエックスサーバーとローカルPCをFTP接続
事前準備が完了したらWinSCPを使って、エックスサーバーへSFTP接続をおこないます。
SFTP接続をするには、エックスサーバーを契約した際に受け取ったメール内の情報が必要です。
4-1.WinSCPで接続
4-2.終了時にはSSH設定を無効にする
4-1.WinSCPで接続
WinSCPでローカルPCとエックスサーバーを接続する設定をします。
1.WinSCPの画面から「設定」を開きます
2.画面を参考に、SSH-認証から秘密鍵の登録をおこないます
3.「ホスト名」「ユーザ名」「パスワード」「ポート番号:10022」を入力してログインします。
詳細情報はエックスサーバーを契約した際に受け取ったメール内の情報を参照します。
※メール件名:【Xserver】■重要■サーバーアカウント設定完了のお知らせ[試用期間]
4.接続が完了すると、左側にローカルPC側のフォルダ、右側にエックスサーバー側のフォルダが表示されます。相互にドラッグ&ドロップでファイルのやりとりが可能です。
4-2.終了時にはSSH設定を無効にする
どんなサーバーに対してでもSSHを設定することで、リモートでローカルPCと接続ができます。
しかしこの状態は「自分以外の第三者でも接続できる」状態になってしまいます。
SSHを有効化したままでは第三者の不正な接続されるリスクがあるため、必要時以外は極力SSH設定を無効化しておいた方が良いわけですね。
SSHではファイル転送以外にもリモートでコマンド実行が可能なため、ファイルの編集、パスワード変更、実行権限の変更などをされ、結果的にサーバーが乗っ取られてしまうことが考えられます。
今回のように公開鍵暗号方式を使った認証方式でもセキュリティは完璧ではないということを認識してもらえればと思います。
今回はエックスサーバーでのやり方について解説しました。
わたし自身、WordPressのエラーが出た際にエックスサーバーとの接続設定で迷ったため、同様の状況になった方の力になれると幸いです。