エックスサーバーにSSHで接続。WinSCPを設定してみました。

ホームページの開設するには、ホームページのデータを置く場所を確保する必要があります。一般的にホームページのデータを保管するコンピュータを「Webサーバー」と呼びます。
Webサーバーは「自分たちで構築する」方法と「サーバー会社のものをレンタルする」方法があります。前者は、サーバーの機能やスペックなどを自由にカスタマイズできる反面、メンテナンス等に手間をかける必要があります。後者は、自由が利かない部分もありますが、保守管理などは専門家である業者が行うため、安定的に運用することができます。

iWac.jpは後者のレンタルサーバーを利用しています。レンタルサーバーにはいくつかの種類と数多くの業者があり、お客様のホームページの規模や予算、目的に応じたサーバーを用意して、ホームページを制作しています。

そのレンタルサーバー会社のひとつに「エックスサーバー」があります。レンタルサーバーの業界では結構メジャーな会社です。今回のそのサーバーの接続に関するちょっとニッチな記事になります。

『iWac.jpのなかのひとたち』では、Webサイトの専門的な知識のない初心者の方にも読みやすい記事を提供しています。今回の記事は、ちょっとイレギューラーで、中~上級者向けの記事となります。弊社制作スタッフの忘備録も兼ねて書かせていただきました。

メジャーかつ安全性の高いFTPクライアント「WinSCP」

ホームページを作成したら、HTMLファイルや画像ファイルをサーバーにアップロードする必要があります。サーバーへ接続するためのソフトを「FTPクライアント」といいます。

FTPクライアントはフリーで高機能のものがたくさんあります。FFFTPやFileZillaといったソフトもメジャーですが、SSHを利用してファイルを暗号化しファイル転送をおこなうことができるWinSCPが有名です。

※SSH(Secure SHell セキュアシェル)とは・・・ネットワークを介してサーバーに接続し、操作するためのソフトウェアのひとつ。公開鍵暗号と秘密鍵暗号を組み合わせて、通信経路を暗号化するため、ネットワーク上を流れるデータはすべて暗号化されるため、安全に操作を行うことができます。

※フリーソフトのWinSCPはいろいろなサイトからダウンロードできますが、知らないサイトからダウンロードして「hao123」がインストールされてしまったことがあるので、窓の杜Vectorからインストールするのがおすすめです。

エックスサーバーにはWinSCPの設定マニュアルが存在しない

セキュアにWebサーバーに接続できる「WinSCP」は、Webサイト制作者や開発者によくつかわれているFTPクライアントです。ポピュラーなソフトウェアなので、多くのレンタルサーバーでは設定マニュアルが用意されています。ところが、エックスサーバーにはWinSCPの設定マニュアルがありません。設定マニュアルが公開されていない場合でも、電話やメールなどカスタマーサポートに問い合わせれば、設定方法などを教えてくれるのが日本の会社のすばらしいところです。エックスサーバーの場合、電話でのサポートではテクニカルな部分はサポートできないとのことだったので、メールフォームから設定方法を問い合わせてみたところ、次のような回答が返ってきました。

この度はお問い合わせ誠にありがとうございます。

誠に恐縮ではございますが、当サポートでは
SSH接続について「Tera Term」のみ具体的な案内が可能であり、
「WinSPC」については具体的な案内は致しかねます。

下記URLにてSSH接続についてのマニュアルはご用意いたしておりますので、
こちらご確認いただき「WinSPC」への設定に関しましてはお客様にて
お調べいただきご対応をお願い申し上げます。

いわゆるゼロ回答ってやつですね。気持ちとしてはこんな感じです。

cry

エックスサーバーの共有レンタルサーバーは、スペックなど、ライバル他社と比べると私のなかでは評価が高かったのですが、電話対応やメール対応は競合他社と比べるとあまり良いとはいえませんでした。個人的には「塩」対応だったかなと思っています(あくまでWinSCPでの対応に関する個人的な感想です。ほかの問い合わせの場合が同様であるとは限りません)。

ほかのFTPクライアントを使うとか、サーバーを乗り換えるなどの選択肢もないことはないのですが、これくらいは何とかしないとカッコ悪いので、半日くらいかかってしまいましたが、なんとかなりました。

悪戦苦闘っぷりはさておき「WinSCP」の設定方法

私の悪戦苦闘したところを書いても何の役にも立ちませんので、とっとと設定方法を書いていきます。

エックスサーバー側の設定
xserver1
【1】エックスサーバーのインフォパネルからサーバーパネルにログインし、SSHの設定をクリックします。
xserver2
【2】デフォルトではSSH設定がOFFになっているのでONにします。
xserver3
【3】中央の「公開鍵認証用鍵ペアの生成」のリンクをクリックし、画面を切り替えます。パスフレーズ(キーワードみたいなもの)を入力し、「公開鍵認証用の鍵ペア生成(確認)」のボタンを押します。パスフレーズは、接続の都度聞かれるので忘れないようにします。
xserver4
【4】確認画面になるので、「公開鍵認証用の鍵ペア生成(確定)」のボタンを押します※一度確定したあとに、再度生成すると前に生成した認証用のキーは使えなくなるので注意してください)。「××.key」という鍵ファイルがダウンロードされます。

ここで生成した鍵ファイルをWinSCPで読み込むわけですが、そのままではうまく動いてくれません。ここで、生成した鍵ファイルをWinSCP用に変換するツールPuTTY Key Generatorが必要になります。

「PuTTY Key Generator」はWindowsのスタートメニュー「WinSCP」-「鍵関連ツール」-「PuTTYgen」を選択して実行できるのですが、 WinSCPのバージョン5.5.5では「鍵関連ツール」が見つかりませんでした。そこで、プログラムの検索から「PuTTY」と入力し、ソフトを起動します。

こちらからインストールしてください。

PuTTY Key Generatorでppkファイルを作成
putty1
【5】エックスサーバーのインフォパネルからダウンロードした「key」ファイルを読み込みます。読み込みの拡張子の設定が「PuTTY Private Key Files(.ppk)」になっているので、「All Files」に変更して読み込みます。
putty2
【6】【3】で設定したパスフレーズを入力します。
putty3
【7】秘密鍵が生成されました。パスフレーズは変更せずに、右下の「Save private key」ボタンを押してファイル名を付けて保存します。
WinSCPでppkファイルを読み込みサーバへ接続
login
【8】WinSCPを起動します。転送プロトコルをSCPにし、ポート番号を「10022」にします。
ホスト名はエックスサーバーのFTPホストを、ユーザー名はFTPユーザーを入力します。秘密鍵での認証となるのでパスワードは必要ありません。
setting
【9】設定ボタンを押して、「高度なサイトの設定」の画面を表示させます。左側の「SSH」の「認証」をクリックし、秘密鍵のところに【7】で保存した「.ppk」ファイルを読み込み、OKボタンを押します。
alert
【10】上の図のようなアラーとが出ますが「無視」します。

pass
【11】パスフレーズを入力したら、はい接続できました。

今回の接続方法が100%安全というわけではありませんが、WinSCPを使ったSSHでのWebサーバーへのアクセスは比較的セキュアであるといえます。Webサーバーへのアクセスはできる限り暗号化し、安全に接続しましょう。



エックスサーバー