エックスサーバーにWinSCPでSFTP接続する方法(鍵は自前で生成)

先日、FileZillaでエックスサーバーにSFTP接続する方法を書きました。

セキュリティーは、低いよりは高くしておくに越した事はありません。今回は、SFTPという接続方法を利用して、FTPよりは安全に...

「なぜFTPがあるのに、SFTP接続するのか?」などは、上記の記事を参照してください。

それはさておき、Windowsを使用している僕は、個人的にFileZillaよりは、WinSCPの方が、使い勝手が良いので、普段から利用しています。

それは、以下のように、サーバー上のファイルを直接編集できるエディターを自由に何個も設定できるからです。

Wordpressテーマのスタイルをちょっと編集したい時、どのようにしていますか?例えば、テーマのスタイルをちょっと書き換え...

本来なら、ローカルでテストした後にアップロードした方が良いのですが、簡単な編集なら、ついつい楽なので直接編集してしまいます。

というわけで、今回は、エックスサーバーにWinSCPでSFTP接続する方法を紹介したいと思います。

前回の、FileZillaの方法では、公開鍵認証用の鍵ペアは、エックスサーバー側で作成していました。けれど、今回は自前で作成し、公開鍵をエックスサーバーに登録する方法を紹介したいと思います。

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

個人が本気でサイト運営をしようと思ったら、以下のポイントは欠かせません。高性能 安定稼働 低価格 丁寧なサ...
スポンサーリンク
レクタングル(大)広告

主な手順

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

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

今回は、公開鍵と秘密鍵の鍵のペアをこちらで作成した上で、WinSCPを利用した、SFTP接続の方法を紹介したいと思います。

SSHの利用を有効にする

まずは、エックスサーバーでSFTPを利用するために、SSHの設定を有効にします。こちらの手順は、前回のFileZillaの方法と変わりません。

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

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

SSHの設定をクリック

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

SSHの設定を有効にする

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

SSHの設定タブをクリック

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

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

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

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

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

前回は、エックスサーバー側で作成しましたが、今回はローカル側で作成して、公開鍵をエックスサーバー側に登録する方法を行ってみたいと思います。

まずは、WinSCP – 窓の杜ライブラリからWinSCPファイルをダウンロードします。

窓の社ライブラリからダウンロード

一応、公式のWinSCPサイトもあるのですが、窓の杜のファイルを利用した方が、デフォルトで日本語化されているし、鍵の生成に必要なソフトもバンドルされているので、初期設定が楽です。

WinSCPをダウンロードしたら、実行して、セットアップを行います。

セットアップは、普通に「次へ」と押していけばOKですが、途中の「インターフェーススタイル」は、Windowsを使い慣れている方ならば、「エクスプローラー」を選択した方が使いやすいかと思います。

WinSCPセットアップ

インストールが終わると、以下のような画面が表示されます。自前で、鍵を作成するには「ツール」ボタンを押します。

WinSCPログイン

すると、以下のようなメニューが表示されるので、「PuTTYgenを実行」を選択します。

鍵を生成する

PuTTYgenとは、公開鍵と秘密鍵を作成するためのソフトです。

PuTTYgenを起動すると、以下のような画面が表示されるので「Generate」ボタンを押します。

PuTTY Key Generator

すると、鍵の作成に必要な乱数を発生させるためにKeyの枠内でマウスを適当にグリグリ動かします。

乱数を生成する

マウスを動かして、ゲージが溜まると以下のような鍵が生成されます。

2015-02-23_11h29_25

これらの中で、利用するのは以下の部分です。

  1. 公開鍵
  2. パスフレーズの入力欄(今回は使用しないけど)
  3. 秘密鍵保存ボタン

①の公開鍵は、後でエックスサーバーに登録します。

②の、パスフレーズは、設定すると多少セキュリティーは向上しますが、家でプライベートに使用していて、パソコンを共有していない場合は、そこまで必要ないかと思い、今回は設定しません。(設定すると、毎回パスフレーズの入力を求められるので面倒くさいのもあります。)

③の秘密鍵は、ローカルに保存して、WinSCPに登録し、毎回その秘密鍵を利用してサーバーにSFTP接続します。

とりあえずは、秘密鍵をパソコン内の任意の場所に保存しておきます。「Save private key」を押すとダイアログが表示されるので、自分の覚えやすい場所に保存しておいてください。

Save private key

とりあえず、好きな名前をつけて、.ppkファイルとして、任意の場所に保存します。

test.ppk

エックスサーバーに公開鍵を登録する

あとは、先程作成した公開鍵をエックスサーバーに登録します。

まずは、サーバーパネルからログインしてください。そして「SSHの設定」をクリックします。

サーバーパネルでSSHの設定をクリック

今回は、こちらで作成した公開鍵をエックスサーバーに登録するので「公開鍵登録・設定」タブをクリックします。

公開鍵登録・設定

すると、以下のような公開鍵入力欄が表示されます。

公開鍵入力欄

ここで、先程PuTTYgenで作成した、公開鍵をコピーします。

公開鍵をコピー

コピーした、公開鍵を入力欄にペーストして、「公開鍵を登録する(確認)」ボタンを押します。

公開鍵を登録するボタンを押す

すると、以下のような確認画面が表示されるので、もう一度「公開鍵を登録する(確定)」ボタンを押します。

公開鍵を登録する(確定)

以下のようなメッセージが出れば、登録は完了です。

公開鍵の登録を完了しました。

公開鍵の登録が完了しました

WinSCPでサーバー設定をする

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

先程のWinSCP起動初期画面に以下のように必要な情報を入力します。

サーバー情報の登録

  1. 転送プロトコル:SFTP
  2. ホスト名:サーバーID.xsrv.jp(FTPのホストと同じ)
  3. ポート番号:10022
  4. ユーザー名:サーバーID(サーバーパネルにログオンする時のID)
  5. パスワード:パスワード(FTPのパスワード)

設定が完了したら「設定」ボタンを押してください。

そして、「認証」を選択し、先程保存した「秘密鍵」ファイルを選択したら「OK」ボタンを押します。

高度なサイトの設定で認証の秘密鍵を設定する

これらの設定が終わったら、「保存」ボタンを押してください。

保存ボタンを押す

すると、以下のような「セッションの保存名」ダイアログが表示されるので、名前をつけて「OK」ボタンを押します。

セッションの保存名

毎回パスワードを入力するのが面倒くさい場合は非推奨ではありますが、「パスワードを保存」にチェックをつけてください。

登録が完了したら、以下のような画面が表示されます。

SFTPログイン

「ログイン」ボタンを押せば、エックスサーバーにSFTP接続して、ファイル操作などをすることができるようになります。

WinSCPでSFTP接続した状態

まとめ

エックスサーバーにWinSCPでSFTP転送を行うには、このような手順が必要です。(鍵のペアを自前で作成する場合)

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

WinSCPは、Windowsのエクスプローラーに似た操作性なので、Windowsユーザーには、かなり使いやすくなっていると思います。また、サーバー上のファイルを手軽に編集できるような工夫が随所にあって、個人的には手放せないソフトの一つです。

エックスサーバーとWinSCPと、SFTPを利用すれば、手軽に、安全にサーバー上のファイルを編集できるようになるのではないかと思います。

あと、FTPではうまくサーバーに接続できない(時々原因不明ではじかれる)なんて時に、SFTPにすると接続できるようになる、なんてことがあるかもしれません。実際に、以前僕もそのようになりました。ちょっと、なんでかはわからないんですけど。

『エックスサーバーにWinSCPでSFTP接続する方法(鍵は自前で生成)』へのコメント

  1. 名前:ボヘミアン 投稿日:2015/02/23(月) 18:38:18 ID:bb706e061

    ありがとうございます。WinSCPでSFTP転送をすることができました。

  2. アバター画像 名前:わいひら 投稿日:2015/02/23(月) 19:17:15 ID:fb4046cee

    動作報告ありがとうございます。
    WinSCPは、使いやすくていいですよね。

  3. 名前:通りすがりの元プログラマ 投稿日:2017/02/14(火) 19:36:54 ID:09061c58b

    はじめまして。とてもわかりやすく纏められていてスムーズに設定できました。しかし、WinSCPのPuttyGENを利用するには、puttyがCドライブのプログラムフォルダにインストールされていないといけないのですが、puttyのインストール手順がありませんでした。私はputtyの存在を知ってたのですぐに気付けましたが、知らない人はPuttyGENがツールに表示されず詰んで諦めてしまうでしょう。長文失礼しました。

  4. アバター画像 名前:わいひら 投稿日:2017/02/15(水) 08:52:34 ID:ebceac611

    はじめまして。
    とりあえず、手元のテストWindows10環境でデスクトップにインストールしてみたのですが、PuttyGENは起動するようです。

    以下のどちらとものインストーラーも試してみたのですが、両方ともインストールフォルダ内にPuTTYフォルダが作成されインストールされているようです。
    WinSCPのダウンロード – 窓の杜ライブラリ
    WinSCPとは :: WinSCP
    ちょっと、僕の環境では同様の現象にはなりませんでした。
    もしかしたら、puttyがあらかじめインストールされていたりすると、インストーラでは新たにインストールされないとかなんでしょうかね。