SSH について

SSH の概略

SSH は server & client 形式の program です。Server 側で sshd を起動しておき、client 側では ssh というコマンドを使って、rsh (rlogin のようなもの) や rcp (ftp とはちょっと違うけど file 転送の protocol) を暗号化します。SSH を使って login する場合は自分の machine に SSH client のみ install すれば OK です。具体的な SSH client の install 方法は各 archive 中の document を参照して 下さい

SSH での login 方法

もっとも単純な通常の password を用いて login をする場合は、 OTP を用いた login に比べると遥かに単純かつ簡単です。 Command line 版の場合は以下のように入力するだけですみます。

% ssh -l user-name hostname

-l のあとの user-name の部分は自分の user name を入力します。

そうすると以下のように聞いてくるので、自分の password を入力します。

user-names's password:

GUI版の場合、Hostname の部分に hostname を、 User ID の 部分に自分の user name を入力し OK を押すと password を聞いてきます。

TeraTerm Pro +TTSSH では、Service に SSH を選び、その後現れる window に Username と password を入力します。

このように、SSH は非常に簡単に使うことができ、しかも通信のすべてを 暗号化するため network 経由での root の作業なども安心して行なえます。

port forwarding 機能

SSH の Win32 での実装は console から使用したり、独自の console を持つものの日本語対応になっていないものしかありませんでした。しかし、 最近 TeraTerm に SSH の機能を付け加える TTSSHがリリースされ ました。よって、以前のように日本語を使うには port forwaring 機能が必須と はいえなくなりましたが、非常に便利なので説明します。

SSH の port forwading 機能というのは、一種の proxy で、SSH client がある指定した SSH client の動いている host の port と、SSH daemon が動いている host を経由して任意の host の port を forward してくれる機能です。

具体的には、SSH で login する際に、command line 版では以下のように入力します。

ssh -L 8023:hostname:23 hostname -l username

この場合、8023 は自分が localhost、つまり SSH client を動かしている host で開きたい port で、23 は remort の host につないで欲しい port です。23 なので、この場合は TELNET ですね。つまり、 localhost の 8023 と gandalf の 23 とを暗号化して forward するように指定しています。 -l username は username という user-name で login するという指定です。

GUI 版では Local Forwards の部分の設定で、Local Port に 8023 を、 Host には gandalf を、そして Remort Port には 23 を指定して下さい

それ以後は普通の ssh と同じように password を入力しlogin することが出来きます。 そこでおもむろに TeraTerm などの接続先の port を指定可能な telnet client を実行して、localhost の 8023 に telnet するようにします。

そうすると、SSH が localhost の 8023 につながったものを gandalf の 23 に暗号化して forward してくれるために、結果的に gandalf に SSH を用いた telnet をすることになります。しかも、この port forwarding を使えば、 TELNET 以外にも FTP やら POP やら NNTP といった protocol まで暗号化可能になります。

例えば、以下のようにすれば、localhost の 8119 に access すれば SSH を利用した NNTPが可能です。

ssh -L 8119:hostname:119 hostname -l username

また、以下のようにすれば、localhost の 8021 に access すれば SSH を利用した FTP が可能になります。

ssh -L 8021:hostname:21 hostname -l username

但し、多くの場合は FTP client を PASV mode に設定する必要があります。 これは FTP daemon が port コマンドでつないできた host 以外の host を指定出来なくしているためです。

また、任意の host へ forwading することが可能なため、以下のようにすれば SSH client を動かしている host の 8119 は gandalf を経由して news.mn.waseda.ac.jp の 119 に forwading されます。

ssh -L 8119:NNTPhostname:119 hostname -l username

この場合、SSH client - gandalf 間は暗号化されますが、hostname - NNTPhostname 間は暗号化されません

というわけで SSH の port forwading 機能を使えば Win32 でも SSH を利用して暗号化した TELNET や FTP を利用可能というだけではなく、多くの service を SSH を用いて暗号化することができます。


SSH client

for Windows

Command line version

Command line で使用可能なものです。他に必要なファイルはありません。

ただ、環境変数の HOME を指定する必要があります。環境変数 HOME で指定された directory の下に .ssh という directory が作られ、そこに SSH の各種設定が収納されるようになっているためです。

環境変数を設定するには Windows95 では autoexec.bat の中で以下のような設定を加えて下さい。NT ではどうやるんだったっけ…。

SET HOME=C:¥HOME¥
ssh-1.2.14-win32bin.zip

SSH gnu-win32 version

Cygnus の gnu-win32 を用いて Win32 に移植したものです。同じく、 command line でのみ使用可能です。これも環境変数の設定が必要なようです。

ssh-win32-0.2-bin.tar.gz

Original site は SSH Win32 Porting Pageです。

GUI version

Crypto library を使用するため、Crpytlib 2.1 の beta 版をコンパイルした beta_bin.zip も必要になります。

Install 方法は、ある direcotry に SSH client の archive と crypto library を展開するだけです。

最初の起動時に使用する crypto library を指定します。16bit では cl16.dll を 32bit では cl32.dll を指定して下さい。

Command line version と異なり、login する際にその host の host key が 必要となるので、注意が必要です。host key は、ssh client をよく使用してい る UNIX の host に login し、‾/.ssh/known_hosts をコピーしてくれば簡単に 集めることが出来ます。

16-bit version ssh99054.zip
32-bit version ssh3299054.zip
Crypto Lib 2.1 beta beta_bin.zip

Original site は SSH - Secure Shellです。

TTSSH

TTSSHTeraTerm Proの extension です。TTSSH をつかえば、TeraTerm Pro が直接 SSH で access してくれます。そのため port forwardind をする必要がなくなり、非常に便利です。

他にもまだF-Secure SSH -Secure Networking にて、商用の client の30日間のお試し版が配布されているなどいろいろな実装があるようです。

for Mac

F-Secure SSH Client for the MACにて Mac 版の商用の client の 30 日間のお試し版が配布されています。$99 ですが、学生や教育機関向けには半額になるそうです。 それ以外の実装については現在探索中です。

for UNIX

現在の最新版はssh-2.0.12です。 しかし、ssh-1.x から ssh-2.x の server に対しては接続する事ができません。 また、ssh-2.x からは license が非常に厳しくなったため、企業 user は使う 事が難しくなっています。なので、 ssh-1.2.26 を使った方がいいでしょう。

original site は ftp://ftp.cs.hut.fi/pub/ssh/ です。


SSH links

Ssh (Secure Shell) Home Page SSH の original homepage
SSH - Secure Shell SSH の新しい homepage
SSH Win32 Porting Page gnu-win32 を用いた SSH の Win32 移植
F-Secure SSH - Secure Networking 商用の SSH product
ssh-faq.txt 日本語版 SSH FAQ

Mail: uchida-t@jaist.ac.jp