sshはネットワークを介してコンピュータにログインするプログラムで, 遠隔地のマシンでコマンドを実行したり,他のマシンへファイルを移したり するために使われる.
sshがtelnetやftpと違う点は通信内容を暗号化するということである. telnetやftpは通信内容をそのままネットワークに流すため,盗聴されると 通信内容(パスワードも含む)は盗聴者にすぐにわかってしまう.
しかし,sshは盗聴されても,暗号が解かれるまでは,通信内容がわからないので, 盗聴対策になる.
したがって,telnetやftpにかわって,sshを使う方がより安全である.
sshは通信を暗号化することによって,情報の漏洩を防いでいる. したがって,通信する2つの機械の両方に暗号化するためのプログラム(つまりssh)が インストールされていなければならない.
しかし,専攻サーバのように多数の機械からの接続をサポートしなければならない場合, 接続してくるすべての機械に,sshがインストールされているとは限らない. sshがインストールされていない機械からログインする場合,telnetやftpを使ってログインする ことになるのだが,上で述べたように,この時にパスワードを盗み見られる可能性がある. これを防ぐためにOTP(One-Time Password)を利用する方法がある.
OTPとは名前の通り,一度きりの使い捨てのパスワードという意味である. つまり,アクセスするたびに毎回違うパスワードを使えば,たとえパスワードを 盗み見られても,盗み見られたパスワードでは,次回からアクセスすることが できないので平気であると言うことである.
具体的には,ホスト側からチャレンジと呼ばれる値を示し,ユーザーは自分だけが 知っているパスフレーズに対し,チャレンジに基づいて演算を加えて得られた結果 (レスポンス)を返すといった方法で実現される.
専攻サーバには,OTPシステムとして,OPIE(One-time Passwords In Everything) が導入されている.そこで,ここでは,OPIEの導入された機械に,telnetを使って ログインする方法を示す.
OTPを利用するには,あらかじめパスフレーズと言うものを設定しておかなければならない. パスフレーズの設定は,OPIEの導入された接続先にログインして,opiepasswdコマンドを 実行することによって行なう.パスフレーズを設定していない場合,telnetでログインすることは できないので,sshでログインする.
例として,以下に makkura というユーザーが hokkaidoudaigaku というパスフレーズを 登録する手順を示した.
この例では,説明の都合上,パスフレーズを簡単なものにしているが,実際に使う
パスフレーズには,自分には覚えやすく,他人に簡単に推測されないようなものを
使わなければならない.
また,OPIEでは,パスフレーズは,10文字以上127文字以下と決まっているので,
その範囲におさまるようなパスフレーズを使わなければならない.
localhost:$ ssh opiehost -l makkura
opiehost:$ opiepasswd
と入力すると,次のような応答が返ってくる.
Adding makkura:
You need the response from an OTP generator.
New secret pass phrase:
otp-md5 499 re6717
Response:
この中の 499 re6717 というのがチャレンジと呼ばれるものである.
この例では,OTP計算機として,opiekeyを使った.(OTP計算機については, 「4.2.OTP計算機について」を参照)
opiehost:$ opiekey 499 re6717
と入力すると,
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
と返してくるので,ここで新しいパスフレーズ(この例では,hokkaidoudaigaku)を入力すると
WHOM WONT TOOL SEED RAFT OX
と返してくる.これがレスポンスである.
Response: に計算したレスポンスを入力するとパスフレーズが登録される.
Response: WHOM WONT TOOL SEED RAFT OX
以上で,パスフレーズの設定が終了した.
localhost:$ telnet opiehost
と入力すると,
login:
と,ログイン名を聞かれる.ここで,ログイン名を入力すると,
login: makkura
otp-md5 234 bl0782 ext
Response:
と,チャレンジ(ここでは, 234 bl0782 )が表示されるので,パスフレーズの 設定の時と同様に,レスポンスを計算する.ただし,レスポンスの計算時に 入力するパスフレーズは,先ほど登録したパスフレーズ(この例では, hokkaidoudaigaku) を使う.計算したレスポンスを,Response: 以下に入力すれば,ログインできる.
Response: SLOB AREA ON BASH HURL RISE
上の例の中でも述べたように,レスポンスの計算には,OTP計算機が必要である.
したがって,ユーザー各自がOTP計算機を持っていなければならない.
どんなOTP計算機があるかについては,ここを参照して欲しい.
・「UNIX USER 1998年10月号 特集 : セキュリティ強化を図ろう」 ソフトバンク
・「Software Design 1999年5月号 特集 : 快適! 安全! リモートネットワーキング」 技術評論社
・One-Time Password , http//rigs.st.ryukoku.ac.jp/otp/index.shtml
・ssh FAQ , http://www.vacia.is.tohoku.ac.jp/~s-yamane/FAQ/ssh/ssh-faq.html