玄箱/HGを鍵認証でSSHできるようにする

毎回パスワードを入力するのが面倒になってきたので鍵認証で入れるようにします。
環境:Ubuntu10.10 64bit / 玄箱/HG Debian(Lenny)化済み


玄箱/HGで公開鍵・秘密鍵を作ります。パスフレーズはお好きに。私は必ず入れますが。(入れると最初の一回はパスフレーズを入力しないといけないけど……)
あとはクライアント側に秘密鍵をコピー。ここでFTPを使ったりすると台無しなのでSCPを使いましょう。

$ ssh-keygen -t rsa -C "KURO-BOX"
$ cd ~/.ssh
$ mv {,kuro-box_}id_rsa
$ mv {,kuro-box_}id_rsa.pub
$ cat kuro-box_id_rsa.pub >> authorized_keys2
$ scp kuro-box_id_rsa (クライアントのユーザー名)@(クライアントのIP):(保存先)
$ rm kuro-box_id_rsa


続いてクライアント側でちょっとした設定を。

$ mv (保存した先)/kuro-box_id_rsa ~/.ssh
$ cat <<'EOB' >> ~/.ssh/config
> Host (玄箱のIP)
>   User (玄箱のユーザー名)
>   IdentityFile ~/.ssh/kuro-box_id_rsa
> EOB


……クライアント側で鍵を生成して、サーバ側に公開鍵を送った方がいいのかも。というか断然いいはず。


これでSSHする際に鍵認証で入れるように。
パスワード認証出来ないようにするなら以下のコマンドを。

$ sed -i.bak 's/^\(PasswordAuthentication \).*/\1no' /etc/ssh/sshd_config
$ /etc/init.d/sshd restart

でもこれをやると何らかの理由で鍵をなくしたときにかなり困るような……