| ssh を使おう windows |
すでに研究室のほとんどの計算機には,sshd が動いているんで,あとはクラ イアントのセットアップだけで使えるようになります.
# ssh-keygenと実行すると,以下のように鍵計算を行い,パスフレーズの入力を求めます. パスフレーズには,適当な文を入れておきます(8文字以上可能です).通常のパスワードのように分かりにくいものよりも,長めの文章のようなもののほうがいいかもしれま せん.
Initializing random number generator... Generating p: .....................................++ (distance 448) Generating q: ...............++ (distance 160) Computing the keys... Testing the keys... Key generation complete. Enter file in which to save the key (/home/sako/.ssh/identity): Enter passphrase: ********** Enter the same passphrase again: **********これで ~/.ssh というディレクトリにいくつかのファイルが作成されます.
# ls ~/.ssh identity identity.pub random_seedidentity は,そのホストで自分を認証するための秘密鍵で,identiy.pub は公開鍵です.公開鍵はASCIIになっていますが,秘密鍵はさきほど入力し たパスフレーズで暗号化されています.
~/.ssh/authorized_keys とい うファイルにリストしておくことで,その鍵に対応するホストに,自分をロ グインすることを許可します.他のホストも鍵生成をして,このリストに加 えておけばいろいろなホストにリモートログインすることが出来ます(とう ぜんそれぞれに対応する秘密鍵も必要になりますが).
set TERATERM_EXTENSIONS=1を追加します.windows を再起動すると,下の図のように TeraTERM の接続 方法に SSH が加わっているはずです.
次に,接続する前に必要な設定を行います.Setupメニューから SSH と SSH Authentication をそれぞれ開きます.
SSH ではリモートホストの公開鍵を保存しておくファイルを指定します.~ /.ssh/known_hosts と同じものです.
また,SSH Authentication では,デフォルトの認証方式をRSA認証として,そ のときの秘密鍵(の書かれたファイル)の指定します.またデフォルトのログイ ンアカウントを指定しておくことも出来ます.
1つ目のunix パスワードによ る認証では,通信路は暗号化されているため生パスワードが流れることは有 りませんが,相手側の認証をする手だてがないので本当にログインしたいホ ストである保証はありません.ここでは,RSAによる認証でログインします. この場合は,リモートホストで作成した秘密鍵を利用するため,お互いの認証を とることができ,1つ目の手段よりも安全といえます.
ユーザ名はログ インするアカウントを入れ,パスフレーズには 鍵の生成時のパスフレーズ を入力します.秘密鍵はあらかじめ設定してあったものが使われますが,ロ グイン時に指定することも可能です.
パスフレーズが正しければ秘密鍵を復号でき,かつリモートホスト上で,ロ グインが許可されている場合にログインできます.これで通信路の暗号化 された端末を利用することができます.
とりあえず FTP を ttssh で port forwarding する例を書きます. ttssh のメニューから「port forwarding」を選びます.下のようなウィンド ウが出るので,「Add」をクリックして,ローカルポートとリモートホストと リモートのポート(forwardしたいポート)をそれぞれ指定します.
これで ttssh で,設定したリモートホストにログインしているときにこの forwarding が使用できます.試しに ftp とかで
C:\windows>ftp ftp> open localhost 8021 <- 設定したローカルホストのポートに接続 Connected to orca.ics.nitech.ac.jp. <- ローカルに接続されてるように見えるが...実は 220 FTP server ready. User (orca.ics.nitech.ac.jp):(none): sako <- 普通にログイン 331 Response to otp-md5 255 hogehoge ext requested for sako Password: ******** 230 User sako logged in. ftp> ls Connection closed by remote host. <- なんだそりゃ ftp>てな感じで port forwarding で設定したローカルホストのポートに ftp 接 続すると,(port forwarding した先の)本当の接続先であるリモートホスト に接続できています.当然この接続には ssh によって port forward されている のですべてのデータは暗号化されて流れています.つまりパスワードも守ら れます.しかしなにかコマンドを入れるとコネクションが切られます,この クライアントでは passive モードに対応してないっぽいので,これ以上のこ とは出来ません...まともなftp クライアントを使えばできるはずです.
これではイカンので,ちゃんとしたFTPクライアントで設定してみました.ちゃんとしているかどうかわかりませんが,研究室のPCに入っていたFFFTPというFTPクライアントがあったので,それを使います.なお,このソフトの具体的な使用法は説明しません.SSHのポートフォワーディングを利用する方法を紹介します.



この ftp の port forwarding でやっていることは他の TCP/IP アプリケーション にも同様のやりかたで出来るはずです.次にやりそうなのが mail ですが, POP (とSMTP) を port forwarding してやれば,APOP を使わなくても リモー トからの secure なメールの受送信が行えます.
sako shinji Oct 10 1990