RSA公開鍵と秘密鍵の作成(Windows編)

カテゴリ:セキュリティ対策
日時:2004/10/03 17:17

puttygen.exe
WindowsでRSA鍵を作成する場合は、PuTTYオリジナル版やWinSCPに付属するputtygen.exeを利用する。

puttygen.exeを起動したら、まずウィンドウ下部のラジオボタンで[SSH2 RSA]を選択する。次に[Generate]ボタンをクリックし、赤枠で示した辺りでマウスポインタをでたらめに動かす。マウスポインタの動きが、暗号を生成するための乱数の基数となる。

プログレスバーが右端に達するまでマウスを動かし続けると、パスフレーズ入力用のテキストボックスが表示される。「Key passphrase」と「Confirm passphrase」に、それぞれ同じパスフレーズを入力する。

パスフレーズを入力したら、[Save public key]ボタンで公開鍵、[Save private key]ボタンで秘密鍵を保存する。ファイル名は何でもよいが、公開鍵は「~.pub」、秘密鍵は「~.priv」とでもしておくと分かりやすいかも。 次に、公開鍵をサーバに転送する。本来であればネットワークを使用せずにFDなどでコピーした方がよいのだが、「サーバを外部にさらしていない」という前提のもと、scpでコピーする。WinSCPを使えばいいだろう。

普段使用する一般ユーザーのアカウントで接続し、サーバにある「そのユーザーの」ホームディレクトリに保存する。

puttygen.exeで生成した鍵は、OpenSSHでは使えないので、OpenSSH形式に変換する。PuTTYなどでサーバに接続し、
$ ssh-keygen -i -f hogehoge.pub > fugafuga.pub
を実行する。hogehoge.pubが、puttygen.exeで生成したRSA公開鍵、fugafuga.pubが変換したRSA鍵のファイル名だ。

もしsshを使用するユーザー(rootは不可)のホームディレクトリに.sshディレクトリがない場合は、ディレクトリを作成してパーミッションを変更する。
$ mkdir $HOME/.ssh
$ chmod 700 $HOME/.ssh
次に、RSA公開鍵を$HOME/.ssh/authorized_keysに追加し、同じくパーミッションを変更する。.sshディレクトリを新規作成した場合、当然だがauthorized_keysというファイルは存在しないが、問題ない。
$ cat fugafuga.pub >> $HOME/.ssh/authorized_keys
$ chmod 600 $HOME/.ssh/authorized_keys
以上でRSA鍵の準備は完了。