Windows用SCP/SFTPクライアント「WinSCP」の使い方、設定:安全なファイル転送

 ネットワーク経由で安全にファイルを転送する方法として、SCPやSFTPがある。最近では、セキュリティ向上のためファイル転送にFTPではなく、SCPやSFTPを推奨しているサイトも多い。本記事では、Windows用のSCP/SFTP/FTPクライアントである WinSCP を使ってファイルをやりとりする方法を解説する。

 SCPとは「SeCure CoPy」の略で、暗号化通信を行うSSH(Secure SHell)の機能を使用してファイル転送を行うものだ。また、SFTP(Secure FTP)はSSH経由でFTPを利用するもので、ともに通信を暗号化するため通信内容が盗聴されにくいという特徴がある。

 従来、ファイル転送にはFTPが多く使われていたが、FTPは暗号化を行わないためパスワードや通信内容を盗聴されてしまう可能性があった。そのため、最近はファイル転送にSCPやSFTPを推奨する例が増えている。

WinSCPのダウンロードとインストール

図1
図1 WinSCP

 WinSCPは、Windowsで動作するSCP/SFTP/FTPクライアントだ。エクスプローラー風/ノートンコマンダー風のGUIを備えており、ドラッグ&ドロップやショートカットメニューによる操作など、Windowsユーザーが慣れ親しんだインターフェイスで操作できるのが特徴である(図1)。

 WinSCPは、SourceForge.JPのダウンロードページから入手できる。インストーラを含む「Installation package」と、インストールが不要でUSBメモリなどから起動できる「Portable executable」が用意されているほか、ソースコードも公開されている(ライセンスはGPL)。なお、本記事は執筆時の最新版であるWinSCP 4.1.6で執筆および動作検証を行っている。

 インストーラでは、途中「ユーザーの初期設定」画面で使用するユーザーインターフェイススタイルを選択できる(図2)。1つのウィンドウにリモートのディレクトリのみが表示される「エクスプローラ」(図3)と、1つのウィンドウにローカルとリモートの両方のディレクトリが表示される「ノートンコマンダ」(図4)から、どちらか好みのインターフェイスを選択する。どちらを選択した場合でも、エクスプローラからのドラッグ&ドロップやショートカットメニューからの機能呼び出しといった基本的な操作は変わらない。

図2
図2 ユーザーインターフェイスは「ノートンコマンダ」と「エクスプローラ」から選択できる

図3 図4
図3 Windowsのエクスプローラ風にリモートディレクトリが表示される「エクスプローラ」スタイル 図4 左ペインにローカルディレクトリ、右ペインにリモートディレクトリが表示される「ノートンコマンダ」スタイル

リモートのディレクトリに接続する

 WinSCPを実行すると、図5のような「WinSCPログイン」ウィンドウが表示される。「セッション」項目の「ホスト名」、「ユーザー名」、「パスワード」、にそれぞれ接続したいサーバーや使用するユーザー名、パスワードなどを入力する。「プロトコル」は「SCP」「SFTP」「FTP」から選択可能だ。

 また、SSH秘密鍵を使用する場合は「秘密鍵」で使用する鍵ファイルを指定する。使用する鍵ファイルは、WinSCPのインストールフォルダにある「PuTTY」フォルダ内の「puttygen.exe」で作成可能だ。また、UNIX/Linux等で利用されているOpenSSH形式のSSH秘密鍵を変換して利用することもできる。WinSCPで使用する秘密鍵はWindows用のSSHクライアントであるPuTTYで利用されるものと同じ形式で、作成方法もPuTTYの場合と同様だ。PuTTY用のSSH秘密鍵作成方法については、別記事を参照してほしい。

 それぞれの項目を入力した状態で「保存」ボタンをクリックすると、名前を付けてその設定をセッションとして保存できる(図6図7)。頻繁に使用するサーバーは設定を保存しておくと良いだろう。

図5
図5 接続するサーバーなどを指定する「WinSCPログイン」ウィンドウ

図6
図6 「WinSCPログイン」ウィンドウで「保存」ボタンをクリックすると、設定をセッションとして保存できる

図7
図7 保存したセッションは、「保存したセッション」から1クリックで呼び出せる

 接続先などの情報を入力する、もしくは保存したセッションを選択して「ログイン」をクリックすると、サーバーへの接続が行われる。進捗はダイアログに表示され、必要に応じてパスワードやSSH秘密鍵のパスフレーズなどの入力が求められる(図8)。認証に成功し、サーバーへの接続が成功するとWinSCPのメインウィンドウが表示される。

図8
図8 必要に応じて、パスフレーズなどの入力が求められる

SourceForge.JPでのシェルサーバーやWebサーバーの利用

 SourceForge.JPでは、一定のルールのもと利用者が自由に利用できるシェルサーバーが用意されている。シェルサーバーには各ユーザーごとのホームディレクトリが用意されており、SCPを利用したアクセスが可能だ。WinSCPでSourceForge.JPのシェルサーバーにアクセスするには、次のような設定でシェルサーバーにアクセスすればよい。

 なお、SourceForge.JPのシェルサーバーへのアクセスにはSSH公開鍵のSourceForge.JPへの登録が必須となる。そのほかSourceForge.JPのシェルサーバーの利用については、SourceForge.JPヘルプの「シェルサーバーが提供するサービスとその利用方法」や「SSH公開鍵の作成と登録」を参照してほしい。

項目名 設定する値
ホスト名 shell.sourceforge.jp
ポート番号 22
ユーザー名 SourceForge.JPに登録したユーザー名
パスワード (なし)
秘密鍵 SourceForge.JPに登録した公開鍵に対応する秘密鍵
プロトコル SCP

ファイルのやりとりやリモートディレクトリ内のファイル操作を行う

 前述の通り、WinSCPは「ノートンコマンダ」と「エクスプローラ」の2通りのインターフェイスを好みに応じて選択できる。「ノートンコマンダ」の場合、左ペインにローカルのディレクトリ、右ペインにリモートのディレクトリの情報が表示され、「エクスプローラ」の場合はWindowsのエクスプローラ風のウィンドウでリモートのディレクトリの情報だけが表示される。しかし、どちらのインターフェイスを選択しても、基本的な操作は同じだ。

 たとえばファイルをローカルのディレクトリからリモートディレクトリにアップロードするには、Windowsのエクスプローラ、もしくはWinSCPのローカルディレクトリペインから、アップロードしたいファイルやフォルダをWinSCPのリモートディレクトリペインにドラッグ&ドロップすればよい。確認ダイアログが表示されるので、確認して「コピー」ボタンをクリックすると操作が実行される(図9)。

図9
図9 初期設定では、ファイル転送操作のたびに確認ダイアログが表示される

 また、逆にリモートディレクトリからローカルにダウンロードするには、WinSCPのリモートディレクトリペインからファイルのコピー先フォルダにファイルをドラッグ&ドロップすればよい。

 リモートディレクトリのファイルを削除したり、名前の変更、コピーといった操作を行うには、WinSCPのリモートディレクトリペインで該当するファイルを選択し、右クリックしてショートカットメニューから行いたい操作を選択するだけだ。このあたりの操作はWindowsのエクスプローラとほぼ同じ感覚で利用できるだろう(図10)。

図10
図10 ショートカットメニューでファイルの操作が行える

 なお、インターフェイスの切り替えはメニューバーの「表示」-「環境設定」で呼び出せる「環境設定」ダイアログで行える。このダイアログでは、そのほかにもファイルの転送や削除時などに確認ダイアログを表示するかどうかや、外観のカスタマイズ、ファイル転送時の動作などもカスタマイズ可能だ(図11)。

図11
図11 環境設定ではユーザーインターフェイスや確認ダイアログの表示/非表示、動作などをカスタマイズできる

ファイルのミラーリングを行う

 ローカルおよびリモートのディレクトリの内容を同期させたい(ミラーリングを行いたい)場合に便利なのが同期機能だ。同期操作を行う「同期」ダイアログは、メニューバーの「コマンド」-「同期」から呼び出せる。「同期」ダイアログでローカルディレクトリおよびリモートディレクトリ、同期する方向(同期元→同期先)、同期モードやオプションを指定して「OK」をクリックすると、ファイルおよびディレクトリの同期を実行できる(図12)。

図12
図12 「同期」ダイアログではローカルディレクトリとリモートディレクトリの同期を設定できる