公開鍵認証

cygwinのOpenSSHで公開鍵認証を行うための鍵の生成法と,Fedra(リモート側)への鍵の登録方法のメモ.
SSHの公開鍵認証とは,ユーザー端末で秘密鍵と公開鍵を生成し,リモートホストに公開鍵をおき、ログイン時に2つの鍵を使って認証を行う方法.
ここでは,前もってFedraにSSHサーバが立っていることを前提に話を進めている.


■鍵生成法
まず,cygwinコマンドライン

$ssh-keygen -t rsa

と入力.-t オプションは生成する鍵の種類を選択するためのオプション.プロトコル バージョン1で使うrsa1,バージョン2で使うrsa,dsaのなかから選択できる.生成した鍵は/home/username/.ssh/に.途中でパスフレーズを聞かれたら適当なフレーズを入力.フレーズはログイン時に使うので覚えておくこと.

$ls ~/.ssh/
id_rsa id_rsa.pub

と2つの鍵が生成されているはず..pubという文字列が付いている方が公開鍵,もう一方が秘密鍵


■Fedra(リモート)での公開鍵の設定.
公開鍵をUSBメモリ等にコピーし,Fedraの自分のアカウントの ~/.ssh/にコピー.なお,ネット越しに公開鍵秘密鍵をコピーする方法はよろしくない.scpとか使えば大丈夫なのかもしれないが….次に,id_rsa.pubの内容を,同ディレクトリ内のauthorized_keysにコピーし,.sshディレクトリとauthorized_keysファイルのパーミッションを設定する.設定が終わったら,公開鍵のファイルは削除する.

$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys
$chmod 700 ~/.ssh/
$ rm -f ~/.ssh/id_rsa.pub

以上で設定は終了.


■リモートログイン
cygwinコマンドライン秘密鍵の場所を指定して接続.

ssh -i ~/.ssh/id_rsa username@リモートホスト

フレーズを聞かれたら,入力.
成功すればログインできる.



参考:http://kajuhome.com/openssh.shtml