Tera Term Pro は MS-Windows 上で動く安定性豊かな telnet client です。 (接続先が SSH に対応していれば) これに TTSSH を追加することによって、 高度な暗号化による非常に安全な通信が可能となります。 この web page では、これらの導入方法、日本語化、使用方法を紹介します。
一般の telnet 接続による client (接続元) と server (接続先) 間のやり取りは、 その間の通信内容を誰かに傍受される可能性があります。
通常の接続
+----------+ +----------+
| | | |
| client |==============================| server |
| | ↑ | |
+----------+ 通常の通信 +----------+
誰でも比較的簡単にその内容を知ることが可能
当然、password が盗まれる可能性があるなど、これは非常に危険な状態と言えます。しかし……
SSH を用いた接続
+----------+ +----------+
| | | |
| client |==============================| server |
| | ↑ | |
+----------+ 暗号化された通信 +----------+
基本的に client と server 以外は解読不可能
…… SSH (secure shell) を導入することによって、client, server 間の通信を暗号化し、 やり取りの内容を保護すれば、危険な状態を回避できます。ただし、次の図のように……
SSH を用いた接続と通常の接続の結合
+----------+ +------------+ +------------+
| | | | | |
| client |======================| server A |==============================| server B |
| | ↑ | | ↑ | |
+----------+ 暗号化された通信 +------------+ 通常の通信 +------------+
ここでその内容が漏洩する可能性あり
…… SSH を用いて接続しているように見えてそうでない部分がある場合、 それは通常の通信と同じ安全性になる可能性もあるので、その利用方法には注意が必要です。
※ SSH を用いて server A に繋いで、そこから server B に telnet した場合、上記の例に当てはまります。
今後、SSH のような暗号化した通信手段は、internet の世界での最低限必要な防衛手段として、 一般的に用いられていくものと思われます (server 管理者にとっては既に常識的な知識です)。
TTSSH 環境 (SSH でやり取りするための client 側の環境) 構築のため、 まず初めに以下の archive file を全て入手して下さい。
Tera Term Pro の archive file を解凍して、その中にある setup.exe
を起動しましょう。
これで install が始まります。適当に質問に答えていくと install が終了します。
次に Tera Term Pro を日本語化しましょう。 Tera Term Pro 日本語版の archive file を解凍して、 その中にある全ての file を Tera Term Pro を install した directory に上書きしましょう。 これで Tera Term Pro が日本語化されました。
※ 日本語化の際、(元に戻せるように) 上書きされる file の back-up をとっておきましょう。
※ 上記の作業でわからない箇所がある人は、 Tera Term Pro のインストールと日本語化を参照してください。
TTSSH の archive file を解凍して、 その中にある全ての file を Tera Term Pro を install した directory に移動しましょう。 次に、TTSSH 日本語版の archive file を解凍して、 その中にある全ての file を Tera Term Pro を install した directory に移動しましょう。 これで install が終了します。
※ この作業を行う際、(元に戻せるように) 上書きされる file の back-up をとっておきましょう。
Tera Term Pro を install した directory の中にある ttssh.exe
を起動しましょう。
すると以下の window が開きますので……
…… TCP/IP と SSH を選択後、ホストに接続先の server 名を入力して、OK を選択しましょう。 この時、以下の window が開く時は……
…… (「悪意を持った〜」を理解してから) 上記のようにチェックボックスにチェックを入れ、 続行を選択します。 更にここでエラーが出ることもありますが、その理由を理解した上で (無視して:-) 次に進んで下さい。
この window が開いたら、プレインテキストの使用を選択後、 (接続する server に登録されている) user-id と password を入力して、OK を選択しましょう。 これで SSH による接続が完了します。
※ 問題なく接続できたら、 が
window の左肩に表示されるはずです。
※ 必要に応じて、文字コード (漢字コード) の設定など、help を読みながら環境構築しましょう。
※ 上記の方法よりも更に安全な接続方法があります。更なる安全性を求める人は続けて次を読んで下さい。
RSA key を用いることにより、上記の方法より更に安全な通信が可能です。 時間的・技術的余裕のある人は以下 (個人のマシンに環境を作るものと仮定した解説) も読んで下さい。
まず初めに、RSA key の作成について、PortForwarder に付属の pf-keygen.exe
を利用する方法を紹介します。
上記サイトにて PortForwarder の archive file を入手し、これを適当な場所で解凍しましょう。
解凍してできた file 群の中に pf-keygen.exe
がありますので、これを起動して以下の window を開きましょう。
Generate new key を選択後、
Identity file の欄に作成する identity
(RSA key の file) の置き場所を入力してから、
OK を選択しましょう。
次に以下の window が開きます。
※ 上記の入力の際、D:\Internet\PortForwarder\identity
のように、
file 名である identity
を最後に必ず入力しましょう。
Passphrase の欄に RSA key の passphrase (RSA key を使用する際に入力を求められる password) を入力して、
OK を選択しましょう。
確認のために再入力を求められますので、同じ passphrase を入力します。
次に comment の入力を求められますが、無視して何も入力せずに OK を選択しましょう。
以上で identity
(自分の手元に置く鍵) と
identity.pub
(接続する server に置く鍵) ができあがりました。
※ 上記の identity
が他人に使われたり盗まれたりしないように注意しましょう。
以上の作業が終わったら、接続する server の自分の home directory に .ssh
という directory を作成し、
その中に上で作成した identity.pub
を authorized_keys
と rename して置きましょう。
また、この .ssh
という directory と authorized_keys
という file は、
他人に何もさせない permission 設定 (700 など) にしておきましょう。
上記で作成した RSA key による Tera Term Pro での接続方法について解説します。
上で作成した identity
を ttssh.exe
と同じ directory に移してから、
ttssh.exe
を起動して、新規接続の画面でキャンセルを選択し、
menu の中から下の画像のように SSH 認証を選択しましょう。
すると以下の window が開きます。
ここで RSA 鍵を使うを選択後、個人鍵の欄に identity
と入力して、OK を選択しましょう。
ここまでの作業が終わったら、menu から設定の保存をおこなって、ttssh.exe
を終了して下さい。
上記操作後、再び ttssh.exe
を起動して SSH による接続をおこなおうとすると、以下の window が現れます。
ユーザー名に user-id (接続する server に登録されているもの)、 そしてパスフレーズ (RSA key の passphrase) をそれぞれ入力して OK を選択すれば、 RSA key を用いた接続が完了します。
※ 上記の RSA key を利用した接続方法の解説は、個人のマシンに環境構築すると仮定したものです。 その他の場合は全く考慮していません。
TTSSH (や PortForwarder) を用いることで、POP server などとの (ある程度) 安全なやり取りが実現します。 本題からはずれるのでここでは紹介しませんが、時間と技術力に更なる余裕のある人は、 以下の web site を参照して挑戦しましょう。