Windows上でRSAキーを生成したい

 「TeraTermでパスワードログインを制限しRSAログインのみを許可させる」や「ノンパスワードでログインしたい〜sshプロトコルバージョン1編〜」Tipsでは,暗号キーを作成してログインをする方法を紹介している。ただし,これらのTipsに記載している手段では,手元にLinuxサーバがなければならない。これでは,あらかじめパスフレーズログインのみ許可しているサーバには応用できないだろう。

 そこでRSAキーを扱うもう1つの方法を紹介しよう。Windows上でRSAキーを生成し,パブリックキーをログインしたいサーバの管理者に送付する手段だ。この方法であれば,セキュアキーをネットワーク上などに流すことなく自らのマシン上で管理することができる。

 まず最初に「PuTTY Download Page」内の「PuTTYgen:」行を探し,puttygen.exeのリンクからダウンロードしよう。

 このソフトはRSAキーの生成だけを目的としているので難しい操作はない。起動させると次のようなウィンドウ表示になる。

画面
SSH1が選択されていることを確認し(TeraTermからのログインを考え),Generateボタンを押そう

 キーを作成するのは簡単だ。このウィンドウいちばん下の「Parameters」内で「SSH1(RSA)」が選択されていることを確認し,「Action」内「Generate」ボタンを押す。マウスカーソルを適当に動かすと,乱数が発生して暗号が生成されるのだ。

 次に,「Key」内の「Key Passphrase」にパスワードとは異なる長めのパスフレーズを入力しよう(文字列にスペースも可)。下の欄「Confirm passphrase」には,確認のために再入力する。

画面
触る必要のある個所は,最低限丸印内だけだ

 最後に「Action」内の「Save public key」ボタンを押してファイル名を「identity.pub」,「Save private key」ボタンを押して「identity」ファイルで保存しよう。

 identity.pubファイルはテキスト形式であり中身は次のようになっている(ここでは便宜上改行してあるが,実際には1ライン)。

1023 37 5320862625714759153233337513360083975283791700
3588239247166912393819256179332311509138885220
2486636454065320353025328489269251701192488388
7571852979252245089538271099861405676312176008
6478943772580424703933030843049389055792799399
0315373802491879266789014279612187714886728593
791090970189643194881843424567 17 rsa-key-20020
327

 あとは,このファイル(identity)をEメールに添付してログインをしたいサーバ管理者へ送ればよいだろう。

 管理者から登録をしたという返事をもらったならば,「TeraTermでパスワードログインを制限しRSAログインのみを許可させる」Tipsの設定を行えばよい。