next up previous
: 4.2 FTP クライアントの設定 : 4.1 SSH の導入と設定 : 4.1.2 PortForwarder の設定


4.1.3 公開鍵/秘密鍵の生成とサーバ側の設定

SSH は公開鍵暗号とよばれる暗号系を利用します。公開鍵暗号とはなんぞや、 という話は省略しますので、興味のある方は参考文献 [6, p89]をどうぞ。 ここで知っておく必要がある知識は次の3つです。

[2001.3.5 追記] この節の以下の記述はすべて obsolate です (嘘というわけではない^^;)。PortForwarder 1.1.0 より PF-Keygen コマンドが同梱されていますので、 これを使って公開鍵と秘密鍵を作るようにしましょう。

[2001.4.24 追記] PortForwarder の WWW にある 説明 を読んでもらう方が正確・確実ですが、おおざっぱに鍵の登録の手順を書いておきます。

公開鍵と秘密鍵を生成するためには ssh-keygen というコマンドを使います。 Windows 98 用の ssh-keygen は手軽には利用できないようなので、ここでは srv上で鍵を生成します。鍵の生成はなるべく安全なところでおこなった方 がよいので、手元に PC-UNIX が動いているとか、研究室にワークステーショ ンがある、といった方は以下の記述に従わないで、そちらで鍵生成作業をして ください。

まず srvへリモートログインします。そして ssh-keygen というコマンドを 実行します(% はシェルのプロンプトです)。

% ssh-keygen -f identity -C 1234567x Enter
数秒くらい待つと次のような表示が出力されて、パスフレーズの登録モードへ 移行します。

Generating RSA keys:  .............ooooooO...ooooooO
Key generation complete.
Enter passphrase (empty for no passphrase):
ここで登録を促されているパスフレーズ(passphrase)は、秘密鍵を利用するた めのパスワードです。 srvのパスワードのように8文字までといった制限はあ りません(だから pass word ではなく pass phrase という) ので、長め(マニュアルによると 10〜30文字くらい)の内緒の文字列を考えて 入力しましょう。パスフレーズをタイプしても画面には表示されません ($\ast$ もでません)のでご注意ください。改行 Enter すると

Enter same passphrase again:
とパスフレーズの確認を求められますので、先ほど入力したパスフレーズをも う一度タイプして改行 Enter してください。なお、タイプしそこ なった場合は

Passphrases do not match.  Try again.
Enter passphrase (empty for no passphrase):
とパスフレーズの登録モードへ戻りますのでご安心ください。 パスフレーズの登録が完了すると次のような表示が出力されて鍵の生成作業は 完了です。

Your identification has been saved in identity.
Your public key has been saved in identity.pub.
The key fingerprint is:
7a:a7:de:ca:0c:f3:16:3e:2c:d5:47:f1:49:32:93:0f 1234567x
ls してみると identity, identity.pub という2つのファイルが新しく生成さ れています。identity はバイナリファイルで秘密鍵が格納されています。 identity.pub はテキストファイルで公開鍵が格納されています。
% ls identity* Enter
identity identity.pub

% cat identity.pub Enter
1024 35 1248332908369...48023480124802...4945141214...02384208 1234567x

つぎに公開鍵を srvへ登録します。まず自分のホームディレクトリの下に .ssh というディレクトリを作ります。すでにこのディレクトリがある 場合はここはとばしてください。

% mkdir .ssh Enter
そして authorized_keys というファイルに公開鍵を追加します。
% cat identity.pub >> .ssh/authorized_keys Enter
これで、秘密鍵を知っていれば、SSH により srvへリモートログインできる ようになりました。このとき通常のリモートログインに必要なパスワードは不 要になります。ですから秘密鍵は非常に大事なので大切に保管しておく必要が あります。他人に秘密鍵を知られてしまうと、パスワードを知られた場合とほ ぼ同じ状態になってしまうからです(パスフレーズが最後の守りとなりますが…)。

最後に、秘密鍵と公開鍵をパソコン側にコピーします。フロッピーディスクな どに保存して運んだり、FTP で転送したりすればよいでしょう。後者の場 合、秘密鍵を安全でない通信路で運ぶことになりますので本当は好ましくあり ませんが、1度だけのことですから大目に見てもよいのではないかと思います。 コピーした秘密鍵と公開鍵は 4.1.1 で作成した PortForwarder のフォルダ内に保存します。

最後の最後になりますが、パソコンへのコピーが終了したら srv上から秘密 鍵は消去しましょう。これを忘れると秘密鍵がいつか秘密でなくなってしまう かもしれませんから。ついでに公開鍵も消去しておいた方がよいでしょう(authorized_keys に公開鍵の内容そのものはコピー済みだから)。

% rm identity identity.pub Enter
% ls identity* Enter
ls: No match.
これで PortForwarder 関連の設定はすべて完了しました。


next up previous
: 4.2 FTP クライアントの設定 : 4.1 SSH の導入と設定 : 4.1.2 PortForwarder の設定
nagoya@cc.hit-u.ac.jp