SSH接続でファイルを安全にやり取りしたいけど、設定が難しいと感じていませんか?
この記事では、XserverへのSFTPやSCP接続を、秘密鍵や公開鍵などの暗号鍵の作り方から登録方法まで、図解付きでわかりやすく解説しています。
なお、私は元々Lolipopで運用していたのですが、数年間運用することでLolipopの重大な問題が発覚したために、いろいろと調べて、Xserverに移管することにしました。
移管に至った経緯や、XserverとConoha Wingの比較などについては下記をご参考ください。Xserverの料金が1万円引きになるリンクも紹介しています(私の場合これが最終的な決め手でした)
なぜSFTP接続なのか?
WinSCPを使ってXserverなどのレンタルサーバーと接続するときは基本的に「SFTP」を使います。
なぜなら、FTPやFTPSなどの他の接続方法と比較して、安全・高速・機能性も充実しているためです。
SFTPの詳細や、FTP、FTPS、SCPとの違いについては下記をご参考ください。
なお、ファイル転送のみを行う場合は「SCP」接続を使います。SFTPで接続した後に、SCPに切り替えるのはとても簡単です。
ここでは、SFTPの接続方法と、SCPで接続する2つの方法を解説しています。
SCPやSFTPで接続すると、転送速度が「数百KB/s」、早ければ「MB/s」になります。(下の例は1.45MB/s)

FTPやFTPSの場合は「数十KB/s」や「数KB/s」となりかなり遅いです。データ量が多い場合、残り時間が「〇時間」ではなく「〇日」と表示されることもあるので注意してください。
WinSCPのインストール手順
WinSCPのインストール手順については下記をご参考ください。
XserverでSSHをONにする
SFTPは秘密鍵と公開鍵を使ったSSHで接続します。
XserverのデフォルトではSSHが使えない状態になっているので、これをONにします。
サーバーパネルに入って「アカウント > SSH設定」へと進みます。

「 ON[国内からのアクセスのみ許可] 」を選択して「設定する」をクリックします。

秘密鍵と公開鍵を作成する
続いて、秘密鍵と公開鍵を作成します。
Xserverには「公開鍵認証用鍵ペアの生成」という便利な機能があります。この機能を利用して鍵ペアを作成すると、自動的に秘密鍵のダウンロードが始まるとともに、サーバー上の公開鍵が更新されます。
「公開鍵認証用鍵ペアの生成」タブをクリックし、「パスフレーズ」に好きな文字列を入力します。
※パスフレーズは後でWinSCPに秘密鍵を登録したりログインするときに使うので覚えておいてください

- 半角6文字以上、32文字以内で入力してください。
- 半角英数字と半角スペースと次の記号が使用できます。
.,-_#@?!/+=$%
入力したら「確認画面へ進む」をクリックします。
「生成する」をクリックすると、公開鍵認証用の鍵ペア生成処理が実行されます。実行後、秘密鍵がダウンロードされるので保存して使用します。
ダウンロードフォルダに「アカウント名.key」というファイルが自動でダウンロードされます。

このファイルの中身は以下のように暗号化されたテキスト情報になっています。

- 生成処理を実行すると、サーバー上の公開鍵情報が更新されます。これまでに発行した秘密鍵ではSSH接続が行えなくなりますのでご注意ください。
- 秘密鍵はとても重要なので、無くさないようにしてください
公開鍵を登録する
次に生成した公開鍵を登録します。
「公開鍵登録・更新」タブを選択し、下部の「登録済み公開鍵を表示」をクリックします。

公開鍵が表示されたら、右下の「確認画面へ進む」をクリックします。

「登録する」をクリックします。

「公開鍵の登録を完了しました」と表示されれば、Xserver側でSSH接続を使う準備は完了です。

WinSCPに秘密鍵を登録する(PutTTYgen)
WinSCPに先ほど作成した秘密鍵を登録します。
WinSCP上部の「新しいタブ」をクリックします。

ログイン情報の入力画面が出てくるので「新しいサイト」を選択し、下部の「ツール > PuTTYgenを実行」をクリックします。

PuTTYgenとは、SSH接続用の公開鍵と秘密鍵を作成するためのツールです。ここでは既にXserverで鍵を生成しているので、秘密鍵の登録のみを行います。
先ほど作成した秘密鍵を登録するため「Load」をクリックします。

ファイルを選択する画面が表示されます。秘密鍵のファイルが表示されない場合は、右下のファイルの種類で「All Files」を選択してください。

「Enter passphrase for key(パスフレーズを入力してください)」と表示されるので、先ほど秘密鍵と公開鍵を作るときに使用したパスフレーズを入力します。

「OK」をクリックします。正しく登録されると以下のようなメッセージが表示されます。

WinSCPに登録する秘密鍵は本来「〇〇.ppk」という拡張子であるべきところ、今回は「〇〇.key」のファイルを選択したため、「.ppk」として保存しておいたよ。このファイルを保存したければ「Save pirvate key」をクリックしてねと書いてあります。
「OK」をクリックすると、以下のような画面になるので「Save private key」をクリックして「.ppk」のファイルを保存します。

保存先のフォルダを選んでファイル名を入力します。

「Save private key」で保存した「.ppk」ファイルは、次にFTPサーバーやアカウント情報を入力するときに使います。
XserverのFTP接続用情報の調べ方
秘密鍵の登録が完了したら、FTP接続用のアカウント情報を入力します。
以下で、WinSCPでSFTPに接続するためのXserverのアカウント情報の確認方法を紹介します。
Xserverのサーバーパネルにログインし、「FTP > サブFTPアカウント設定」へと進みます。

「FTPソフト設定」のタブをクリックし、以下の情報を確認します。
- FTPサーバー(ホスト名)
- ユーザー名(アカウント名)
- パスワード

FTP用のパスワードはサーバーパスワードと同じですが、サーバーパスワードとXserver登録時に入力したアカウントパスワードは異なります。
FTP用のパスワードは、登録後に届くメールに記載してあります。

WinSCPにアカウント情報を入力する
以下の内容を入力して「設定」をクリックします。
- 転送プロトコル: 「SFTP」
- ホスト名: 「〇〇.xserver.jp」
- ポート番号:「10022」
- ユーザー名: 「アカウント名」
- パスワード: 「FTPのパスワード(サーバーパスワード)」

SFTP接続するときのポート番号は通常「22」です。しかし、Xserverでは22ではなく「10022」となっています。
「設定」をクリックします。
「SSH > 認証」をクリックして「秘密鍵」で先ほど保存した「.ppk」ファイルを選択します。秘密鍵のファイルパスが表示されたら「OK」をクリックします。

この情報を保存するため「保存」をクリックします。

「セッションの保存名」は識別しやすい名前をつけます。

保存ができたら下部の「ログイン」をクリックします。

秘密鍵のパスフレーズを入力します。

無事接続が完了しました。

SCP接続する方法
ファイルの削除やディレクトリの新規作成などを行わず、ファイルの転送(ダウンロードとアップロード)のみする場合はSFTPよりも「SCP」の方が高速に処理することができます。
SFTPの接続をSCPに切り替えるのはとても簡単です。
WinSCPの上部に表示されている「新しいタブ」を選択します。
先ほど作成したセッション情報を選択して「編集」をクリックします。

「転送プロトコル」で「SCP」を選択し、「保存」をクリックします。

「ログイン」をクリックします。

秘密鍵のパスフレーズを入力します。

これで、XserverにSCPで接続することができます。
下部の接続状態を確認すると「SCP」になっています。
