WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

WinSCP で安全にファイル転送

昨日の PuTTY に続いて、今日も Windows 用の SSH クライアントである WinSCP をご紹介します。

といっても今日ご紹介する WinSCPPuTTY とは違い、端末エミュレータではありません。FTP クライアントと同様な感覚で SSH 経由のファイル転送が行える、ファイル転送に特化した SSH クライアントです。インターネット経由のファイル転送には非常に便利です。

WinSCP のインストール

WinSCP はお馴染みのウィザード形式でインストールできるので、ほとんど迷うことはないと思います。しかし、標準では日本語化されていないので、手作業で日本語メッセージファイルをインストールする必要があります。

WinSCP 本体のインストール

では、さっそく WinSCP をインストールしましょう。手順は以下の通りです。

  1. ダウンロードページから最新のインストーラをダウンロードします。いくつかファイルがありますが、「Multilanguage installation package」をダウンロードしてください。
  2. ダウンロードしたインストーラを起動します。
  3. インストーラで使用する言語を尋ねてきます。残念ながらこの時点では日本語は選べないので、デフォルトのまま「English」にして、「OK」ボタンを押します。
  4. インストーラが使用する言語を尋ねてきます。残念ながらこの時点では日本語は選べないので、デフォルトのまま「English」にして、「OK」ボタンを押します。
  5. 「Welcome to the WinSCP3 Setup Wizard」の画面になります。「Next」ボタンを押します。
  6. ライセンス(GPL)の確認画面になります。「Next」ボタンを押します。
  7. インストールディレクトリの選択画面になります。通常はそのままで大丈夫です。「Next」ボタンを押します。
  8. インストールするコンポーネントの選択画面になります。デフォルトの「Full installation」で問題ありません。もし PuTTY をインストール済みなら、「Compact installation」でも OK です。選択したら「Next」ボタンを押します。
  9. スタートメニューフォルダ選択画面になります。通常はそのままで大丈夫です。「Next」ボタンを押します。
  10. その他のインストールオプションの指定画面になります。通常はそのままで大丈夫です。「Next」ボタンを押します。
  11. ユーザーインターフェースの選択画面になります。GUI をファイラー風の 2 ペイン (Norton Commander interface) にするか、エクスプローラ風の 1 ペイン (Explorer-like interface) にするかを尋ねてきます。好みの問題ですが、個人的には 2 ペインのほうがオススメです。また、一番下には高度なログインオプションを表示するかどうかを選択するチェックボックスがあります。ここで選択するオプションは後から変更することもできます。選択したら、「Next」ボタンを押します。
  12. 最終的なインストールオプションの確認画面になります。「Install」ボタンを押します。
  13. 「Complete the WinSCP3 Setup Wizard」の画面になります。まだ日本語化していないので、「Launch WinSCP3」のチェックは外しておきましょう。「Finish」ボタンを押すとインストーラが終了します。

WinSCP の日本語化

次に、WinSCP の日本語ファイルをインストールします。手順は以下の通りです。

  1. Translations のページ に行き、Japanese のファイルをダウンロードします。
  2. ダウンロードしたファイルを解凍します。
  3. 解凍してできた "WinSCP3.jp" を、WinSCP をインストールしたディレクトリ(通常は "C:\Program Files\WinSCP3")にコピーします。
  4. スタートメニューから、[プログラム]-[WinSCP3]-[WinSCP] を選択して WinSCP を起動します。
  5. 表示されたウインドウの下部にある「Languages」ボタンを左クリックし、メニューから「Japanese - 日本語」を選択します。
  6. ボタンの位置などがおかしくなりますが、一度クローズボタンを押して終了し、もう一度起動するとなおりますので、ご安心を。(^^;

これで WinSCP の日本語化は終了です。主なメニューやダイアログの表示が日本語化されています。ただ、残念なことに日本語ファイル名などは正常に扱えません。あくまで GUI 関連の日本語化となっています。

接続してみる

それでは、さっそくサーバーに接続してみましょう。手順は以下の通りです。

  1. WinSCP を起動する。ログインダイアログが表示されます。
  2. 左のツリービューから「セッション」を選択し、「ホスト名」に SSH サーバーの FQDN を入力します。
  3. 「ユーザー名」に SSH サーバーにログインするユーザーのユーザー名を入力します。
  4. 「秘密鍵」に、昨日 PuTTY 用に作成した認証鍵を指定します。
  5. ウインドウ下部の「ログイン」ボタンをクリックします。
  6. 最初に接続するときは、正しいホストかを確認する警告ダイアログが表示されます。「はい」ボタンをクリックします。
  7. 「パスフレーズの入力」ダイアログが表示されるので、認証鍵のパスフレーズを入力し、「OK」ボタンを押します。

サーバーにログインすると、以下のようなウインドウが表示されます(2 ペインの GUI を選択した場合)。

左のペインがローカル、右がリモートのディレクトリです。デフォルトでは、マイドキュメントとホームディレクトリが表示されるはずです。基本的なファイル操作はファンクションキーに割り当てられており、画面下のツールバーに表示されています。これらはボタンになっているので、それぞれをクリックしても OK です。基本的な操作に戸惑うことはないでしょう。

便利な機能

WinSCP には、単純なファイル転送以外にもいろいろと便利な機能が実装されています。それらを簡単にご紹介しましょう。

内蔵テキストエディタ

WinSCP は簡単なテキストエディタを内蔵しており、リモートホストのファイルを直接編集できます。リモートファイルの上で右クリックして、コンテキストメニューから「Edit」を選択すると、以下のようなエディタが表示されます。

機能としては、通常の編集、カット&ペースト、検索、置換などができます。簡単な設定ファイルの編集などに便利ですね。しかし、残念ながら日本語はサポートしていません(ShiftJIS なら大丈夫かも)。

外部エディタの起動

内蔵のテキストエディタの代わりに、好みのエディタを編集に使用することもできます。日本語をサポートしたテキストエディタを指定すれば、日本語ファイルの編集も可能になります。外部エディタは拡張子ごとに指定できるので、その気になれば画像ファイルの直接編集なんてこともできますね。

外部エディタの設定は以下の手順で行います。

  1. メインメニューの [Options]-[環境設定] で環境設定ダイアログを開く。
  2. 左のツリービューから「エディタ」を選択する。
  3. 「Editor preference」の枠の中央左にある「Add」ボタンを押し、「Add editor」ダイアログを開く。
  4. 「Editor type」を「External editor」に設定し、その下のテキストボックスに外部エディタのフルパス名を入力(左の「Browse」ボタンを使うとよいです)。もし必要なら、ファイル名の後にオプションも指定できます。また、!.! という文字列は編集するファイル名に置き換えられます(ファイル名が空白を含むなら、自動的にダブルクォーテーションで括られます)。
  5. 「Editor autoselection」でそのエディタで編集するファイルタイプをワイルドカードで指定する。もしすべてのファイルに適用するなら、"*.*" を指定。
  6. 「External editor options」を適切に設定(後述)。
  7. 「Add editor」ダイアログの「OK」ボタンを押す。
  8. ワイルドカードがマッチするエディタが複数ある場合、「Editor preference」のリストの上のほうが優先されます。必要に応じて、「Up」「Down」ボタンで並び準を調整します。
  9. 「環境設定」ダイアログの「OK」ボタンを押す。

「External editor options」の意味は以下のようになります。

External editor opens multiple files in one window(process)
外部エディタがひとつのプロセスで複数ファイルを編集するかどうかを指定します。MDI 形式のエディタなど、ひとつのウインドウで複数ファイルを編集するようなタイプはチェックを付け、そうでなければ外します。この問題の詳細はオンラインマニュアルの該当項目をご参照ください。
Force text transfer mode for files edited in external editor
メモ帳のように、Windows 形式のテキストファイルしかサポートしないようなエディタを使う場合はチェックを入れます。たいていの場合は、外しておくべきでしょう。

PuTTY との連携

メインメニューの [Commands]-[PuTTYを開く] から、現在のセッション情報とともに PuTTY を実行することができます。ただし、デフォルトでは日本語化されていない PuTTY が実行されてしまいますので、以下の手順で日本語化された PuTTY を実行するように変更しましょう。

  1. メインメニューの [Options]-[環境設定] で環境設定ダイアログを開く。
  2. 左のツリービューから「統合」を選択する。
  3. 「外部アプリケーション」の枠の中の、「PuTTYのパス」に、日本語化された PuTTY のフルパスを設定します。通常は、"putty.exe""puttyjp.exe" に変更するだけです。
  4. 環境設定ダイアログの「OK」ボタンを押す。

GUI では面倒な操作を行うときなどに、手軽にターミナルを開けるのはけっこう便利です。

コンソール

メインメニューの [Commands]-[コンソールを開く] を選択すると、以下のようなコンソールウインドウが開きます。

簡単なコマンドなら、このウインドウで実行できます。ただし、ユーザー入力が必要なコマンドは実行してはいけません。そのようなコマンドを実行したい場合は、[Commands]-[PuTTYを開く] を使用します。

コマンドの実行

メインメニューの [Files]-[カスタムコマンド]、もしくはリモートファイルのコンテキストメニューの [カスタムコマンド] から、プリセットされたコマンドを実行できます。リモートホスト上のコマンドを実行することも、そのファイルをダウンロードしてローカルのプログラムに渡すこともできます。ただし、ローカルコマンドで変更したファイルをリモートに書き戻すことはサポートしていないようです。前述の外部エディタを使え、ということかもしれません。

実行するコマンドはもちろんカスタマイズできます。手順は以下の通りです。

  1. メインメニューの [Options]-[環境設定] で環境設定ダイアログを開く。
  2. 左のツリービューから「コマンド」を選択する。
  3. 「追加」ボタンを押し、「追加」ダイアログを表示させる。
  4. 「Description」にメニューで表示する名前を入力。
  5. 「カスタムコマンド」に実行するプログラムのフルパス・オプションを指定。後述するパターンも使えます。
  6. リモートコマンドか、ローカルコマンドかを選択します。
  7. その他のオプション(後述)を適切に設定します。
  8. 「追加」ダイアログの「OK」ボタンを押します。
  9. 「環境設定」ダイアログの「OK」ボタンを押します。

「追加」ダイアログのその他のオプションの意味は以下の通りです。

ディレクトリに適用
コマンドをディレクトリに対しても実行するかどうかを指定します。
再帰的に実行
ディレクトリ内のファイルに対して、再帰的にコマンドを実行するかどうかを指定します。
結果をコンソールに表示
コマンドの実行結果をコンソールに表示するかどうかを指定します。
Copy results to clipboard
コマンドの実行結果をクリップボードに転送するかどうかを指定します。

「カスタムコマンド」には、以下のパターンも記述できます。

パターン機能
!単体のファイル名に置換される
!&空白区切りのファイル名のリストに置換される
!?prompt?default!ユーザーに置換する文字列を尋ねる~~prompt はダイアログのタイトル~~default はデフォルトの文字列
!?prompt\?default!上記と同じだが、シェルの特殊文字をクォートしない
!^!ローカルファイルの名前に置換される~~ローカルとリモートのファイル比較などに使用する

よく使うコマンドはここに登録しておけば、手軽に実行できるようになりますね。ユーザーに入力も促せるので、けっこういろいろとできそうです。漢字コードの変換とか、Subversion のコミットなどを入れておくのもいいかもしれません。

ログイン情報の保存

ログインするたびに、いちいちホスト名や認証鍵のパスを指定するのは面倒です。最初のログインダイアログで入力するパラメータはセッション情報として保存することができます。手順は以下の通りです。

  1. WinSCP を起動します。
  2. 通常どおりホスト名などの情報を入力します。ただし、「ログイン」ボタンは押さないでください。
  3. ログインダイアログの下部にある「保存」ボタンを押します。
  4. セッションの保存名を尋ねてくるので、必要に応じて変更して、「OK」ボタンを押します。
  5. 「セッション/保存したセッション」に保存したセッション名が追加されます。
  6. セッション名をダブルクリックすれば、ログインできます。

セッションをひとつでも保存しておけば、起動時のログインダイアログは「セッション/保存したセッション」が自動で表示されるので、すぐにログインできます。

その他

そのほかにも、エクスプローラとの連携やディレクトリ同期のサポートなど、さまざまな機能があります。それらの詳細は、オンラインドキュメントを参照してください。

以上、今日は WinSCP の機能についてご紹介しました。実は今回きちんと調べて初めて知った機能もけっこうあって、改めてその多機能さに驚きました。現在も活発に開発が行われているので、これからもどんどん便利になっていくのでしょう。今後が楽しみなソフトですね。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles