Windows用定番SSHクライアント「Tera Term」の使い方

 Linuxでは、リモート操作にSSHを用いるのが一般的だ。そのためたいていのLinuxディストリビューションではsshコマンドが標準でインストールされる。一方、WindowsにはSSHクライアントは含まれていないが、Windows用のSSHクライアントはフリー/商用を含めていくつか提供されているので、それらを導入すればSSH経由でWindowsからLinuxマシンを操作することが可能になる。そこでここでは、Windows用SSHクライアントで定番の1つとなっているTera Term(テラターム)を取り上げ、その利用方法を紹介する。Tera Termには、Cygwin(Windows上で動作するUNIX互換環境)との連係機能も備わっているので、WindowsをLinux/UNIXライクに利用したいユーザーにはお勧めである。

Tera Termの歴史

 Tera TermはもともとTelnet接続とシリアル接続に対応するWindows用ターミナルエミュレータとして、寺西 高氏によって開発された(当時の名称はTera Term Pro)。その後、SSHクライアント機能を追加するTTSSHを始めさまざまな拡張ツール(プラグイン)が作成されてきたが、それらが別々に配布されていたためセットアップが面倒という問題があった。また、オリジナルのTera Termの開発は1998年にストップしているが、その後標準ロケールとしてUTF-8を採用するLinuxディストリビューションが増えてきたこともあり、Tera Term本体に手を加える必要も出てきた。

 そこで、Tera Termに改良を加えつつ、便利な拡張ツールをまとめて本体と一緒に配布するためにTeraTerm Projectが作られ、本体および拡張ツールの開発が続けられることになった。現在のTera Termのパッケージに含まれる主なコンポーネントは以下のとおりであり、一部を除いてBSDライセンスが適用されている。

  • Tera Term:本体
  • TTSSH:SSH1/SSH2対応クライアントプラグイン
  • CygTerm+:CygwinのシェルをTera Termから利用するためのプラグイン
  • TTProxy:プロキシ接続プラグイン
  • TeraTerm Menu:自動ログインをサポートする常駐ソフト
  • LogMeTT:マクロによる自動操縦支援ソフト
  • Collector:アプリケーションをタブ対応にする常駐ソフト

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

 Tera TermのパッケージはSourceForge.JPのTera Termのダウンロードページからダウンロードできる。2009年2月2日の時点では、バージョン4.61が最新版だ。パッケージファイル名の「teraterm-4.61.exe」をクリックしてダウンロードしていただきたい。なお、Tera Termはバージョン4.58まで「UTF-8 TeraTerm Pro with TTSSH2」というパッケージ名でリリースされていた。

 ダウンロードが完了したら、パッケージをクリック(もしくはダブルクリック)して実行する。するとインストールウィザードが起動するので、ウィザードの指示に従ってインストールする。なお、途中でインストールモードを聞かれるが(図1)、モードによってインストールされるコンポーネントが異なるので注意されたい。以下はインストールモードとコンポーネントの対応関係である。今回はフルインストールを選択した。

  • 標準インストール:本体、TTSSH、CygTerm+、LogMeTT & TTLEdit、TTProxy、追加プラグイン(TTXResizeMenu、TTXttyrec)
  • フルインストール:本体、TTSSH、CygTerm+、LogMeTT & TTLEdit、TeraTerm Menu、TTProxy、Collector、追加プラグイン(TTXResizeMenu、TTXttyrec、TTXKanjiMenu、TTXKcodeChange、TTXViewMode、TTXAlwaysOnTop)
  • コンパクトインストール:本体、TTSSH
  • カスタムインストール:本体、TTSSH、個別選択

 最後に追加タスクの選択画面が表示されるが、選択したインストールモードに合わせて表示されるオプションも変わる(図2)。たとえば、標準インストールを選択した場合はインストールされないプラグインの項目(「スタートアップにTeraTerm Menuのショートカットを作る」など)は表示されない。追加タスクは、必要に応じてチェックしていただきたい。

z01_select_component_thm.png
図1 コンポーネントの選択

z02_select_task_thm.png
図2 追加タスクの選択

SSH鍵の作成

 デスクトップに作成されたTera Termのショートカットアイコンをクリック(あるいはダブルクリック)して起動するとメインウインドウと「新しい接続」ダイアログが表示される(図3)。

 ただし、SSH接続で認証に鍵ファイルを利用する場合は事前に鍵を用意しておく必要がある。まだ鍵ファイルを持っていない場合は「新しい接続」ダイアログを閉じて、SSHの鍵ペア(秘密鍵、公開鍵)を作成していただきたい。「設定」メニューから「SSHキー生成」を選択すると図4のダイアログが表示されるので、「キーの種類」にある暗号方式(RSA1、RSA、DSAのいずれか)を選択する。RSA1はSSH1プロトコルで使われる暗号方式で、RSAおよびDSAはSSH2プロトコル用である。

z03_teraterm_thm.png
図3 メインウィンドウと「新しい接続」ダイアログ

z04_key_generate.png
図4 TTSSH: キーの生成

RSA1、RSA、DSAのどれを使うべきか?
 どのタイプの鍵を利用すればよいのかは、初心者ならずとも悩むポイントだろう。基本的には接続先のサーバの管理者にどのタイプの鍵が使えるのか確認して、その指示に従えばよい。なお、SourceForge.JPではいずれのタイプの鍵も利用できるが、SSH1は暗号強度が低いので、SSH2用のRSAかDSAを選択するとよいだろう。RSAとDSAは暗号方式こそ違うものの、どちらも十分な強度を持っているのでどちらを選択してもかまいない。

SourceFroge.JPへの公開鍵の登録
 SourceFroge.JPでリポジトリーやシェルサーバなどを利用するためには、公開鍵の登録が必要になる。登録はWebフォームから行えるので簡単だ。具体的には、SourceFroge.JPにログインした状態で「ユーザ設定」ページを開き、「アカウント基本情報設定」枠内の一番下にある[鍵の編集]のリンクをクリックし、表示された画面の「公開鍵:」のフィールドに公開鍵ファイルの中身をペーストすればよい。鍵の登録についての詳細はこちらのヘルプを参照していただきたい。

 キーの種類を選択して「生成」をクリックすると、「キーのパスフレーズ」と「パスフレーズの確認」欄が入力可能になる。パスフレーズとは長めのパスワードのことだと理解しておけばよいだろう。それぞれのフィールドに同じパスフレーズを入力したら、「公開鍵の保存」、「秘密鍵の保存」の各ボタンを順次クリックし、公開鍵と秘密鍵を保存する。公開鍵はサーバに登録する鍵(人に見られても問題ない鍵)、秘密鍵はローカルマシンに置いておく鍵(人に見られてはいけない鍵)である。SSH2対応の公開鍵のファイル名は「id_XXX.pub」、秘密鍵のファイル名は「id_XXX」(「XXX」にはrsa/dsaが入る)がデフォルトである。鍵ファイルを保存したら「SSHキー生成」ウィンドウを閉じる。

 さて、作成した公開鍵は接続先のサーバに登録しておく必要がある。登録方法は各サーバの管理者に確認していただきたい。秘密鍵の取り扱いには十分に注意する必要があるが、公開鍵は人に見られても問題ない鍵なのでメールに添付してサーバ管理者に送っても大丈夫である。

サーバへの接続

 それではサーバに接続してみよう。まず、Tera Termの「ファイル」メニューから「新しい接続」を選択して「新しい接続」ダイアログを表示する(図5)。このダイアログでは「ホスト名」に接続先のホスト名もしくはIPアドレスを、サービスで「SSH」をチェックする。「SSHバージョン」は接続先のサーバおよび用意した鍵のタイプに合わせて指定していただきたい。以上を設定したら、「OK」をクリックする。

 「OK」をクリックすると、「SSH認証」ダイアログが表示されるが、初めて接続するサーバの場合はその上に「セキュリティ警告」ダイアログが表示される(図6)。このダイアログは、サーバのホスト鍵のフィンガープリント(指紋)がクライアント側に登録されていないときに表示される。もし、過去に接続したことがあるサーバでこのダイアログが表示されたときは、サーバの“なりすまし”の可能性があるので接続をキャンセルして、サーバ管理者に確認していただきたい。正当なサーバでもホスト鍵を作成し直したなどの理由でフィンガープリントが変わっている可能性はある。

z05_new_connection_thm.png
図5 「新しい接続」ダイアログ

z06_security_warning.png
図6 「セキュリティ警告」ダイアログ

 最初に接続するサーバで「セキュリティ警告」が表示されるのは正常な動作だが、その際もなるべくフィンガープリントが正しいかどうかを確認するようにしていただきたい。SourceForge.JPのサーバ群のフィンガープリントはヘルプ(Subversionの使い方シェルサーバーが提供するサービスとその利用方法)に記載されている。フィンガープリントが正しいことを確認できたら、「続行」ボタンをクリックして「セキュリティ警告」ダイアログを閉じる。これでknown_hostsファイル(既知のサーバのフィンガープリントを記録しておくファイル、Tera Termの場合はインストールディレクトリの「ssh_known_hosts」ファイル)にそのサーバのフィンガープリントが登録され、以降の接続の際は警告ダイアログが表示されなくなる。

 「SSH認証」ダイアログでは、「ユーザ名」にそのサーバに登録されているアカウント名を、「パスフレーズ」に鍵ファイルを作成した際に設定したパスフレーズを入力する(図7)。また、「RSA/DSA鍵を使う」をチェックし、その右の「秘密鍵」ボタンでファイル選択ダイアログを開いて先ほど保存した秘密鍵を選択する。「OK」をクリックして認証に成功すると、画面にシェルプロンプトが表示される(図8)。これでサーバへのログインは完了である。

 なお、「ユーザ名」や「秘密鍵」は事前に設定しておくことも可能である。そのためには、「設定」メニューから「SSH認証」を選択して「SSH認証設定」画面を開き、「ユーザ名」と「秘密鍵」を指定しておいていただきたい(図9)。

z07_ssh_auth_thm.png
図7 「SSH認証」ダイアログ

z08_login_ok_thm.png
図8 ログイン完了

z09_ssh_auth_preset_thm.png
図9 SSH認証設定

Cygwin連係

 最後に Cygwin との連係機能を紹介しよう。Cygwinは、Cygnus Solutionsという会社が開発したWindows上にUNIXライクな環境を構築するためのソフトウェアであり、CygnusがRed Hatに買収されたことで現在はRed Hatを中心に開発が続けられている。Linux/UNIXで一般的なコマンドやアプリケーションがWindows上で使えるようになるため、Linux/UNIXに馴れたユーザーにはとても便利なツールである。

 もっとも、デフォルトのCygwinはシェルの動作端末としてWindowsのcmd.exeを利用するようになっているため、お世辞にも使いやすいとは言い難い。そこで、cmd.exeの代わりにTera Termを利用するためのCygTerm+というプラグインが作成されており、Tera Termのパッケージに同梱されている。これを使うと操作性のよいTera Term上でCygwinのシェルを利用することができる。

 Tera TermのインストールコンポーネントでCygTerm+をチェックし、「コンテキストメニューに”CygTerm Here”を追加する」をチェックしておいた場合、エクスプローラでのフォルダの右クリックメニューに「CygTerm Here」という項目が表示されるようになる(図10)。これを選択すると、新しいTera Termウィンドウが開き、そのフォルダをカレントディレクトリにした状態でCygwinのシェルが起動する。いちいちシェルを起動してからディレクトリを移動しなくて済むので便利だ。CygwinシェルはTera Termの「ファイル」メニューから「Cygwin接続」を選択して開くこともできる。この場合、カレントディレクトリはCygwin上でのホームディレクトリになる。

z10_contextmenu.png
図10 コンテキストメニューに追加された項目

 なお、Cygwinのインストールディレクトリがデフォルトの「C:\cygwin」であれば、上記の手順でTera TermからCygwinが利用できる。もし、デフォルト以外のディレクトリにCygwinをインストールしている場合は、Tera Termの設定ファイル(通常は「C:\Program Files\teraterm\TERATERM.INI」)の中にある以下の太字の部分をCygwinのインストールディレクトリに合わせて書き換えていただきたい。

; Cygwin install path
CygwinDirectory =c:\cygwin