sshで公開鍵認証を設定する
OpenSSHの場合
クライアントで公開鍵と秘密鍵を作成する
$ cd ~/.ssh $ ssh-keygen -t rsa
id_rsa.pubが公開鍵、id_rsaが秘密鍵。
公開鍵認証でログインしたいサーバのユーザに公開鍵を送信する
$ scp ~/.ssh/id_rsa.pub foo@bar:
サーバのユーザに公開鍵を登録
$ ssh foo@bar password: # authorized_keysがないとき $ mv ~/id_rsa.pub ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys # authorized_keysがあるとき $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys $ rm ~/id_rsa.pub
ログインする
$ ssh foo@bar
鍵を生成したときに、パスフレーズを入力していると初回ログイン時に入力が求められる。
この設定は、scp、sftpに対しても有効。
puttyの場合
クライアントで公開鍵と秘密鍵を作成する
puttygenで、SSHv2-RSAで公開鍵、秘密鍵を生成する。
ここで、公開鍵をid_rsa.pubとする。
公開鍵認証でログインしたいサーバのユーザに公開鍵を送信する
scpなどでサーバに送信
OpenSSH用の公開鍵に変換する
$ ssh-keygen -i -f ~/id_rsa.pub >> putty.pub $ rm ~/id_rsa.pub
サーバのユーザに公開鍵を登録
上記のputty.pubの内容を登録/追加する。
# authorized_keysがないとき $ mv ~/putty.pub ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys # authorized_keysがあるとき $ cat ~/putty.pub >> ~/.ssh/authorized_keys $ rm ~/putty.pub
ログインする
puttyでログインする。
追記(09/08/18)
- ~/.ssh/authorized_keysを作成したとき、chmodを手順に追加