SSHで公開鍵認証
SSHで公開鍵認証をするためのまとめ。
公開鍵を作成
$ ssh-keygen -t rsa
-t で指定できる暗号化方式には他にdsaやrsa1があるみたいだけど
dsaは強度がイマイチ、SSH2を使いたいのでrsaにしとく。(SSH1の場合はrsa1を指定)
実行結果:
Generating public/private rsa key pair. Enter file in which to save the key (/Users/nauthiz/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/nauthiz/.ssh/id_rsa. Your public key has been saved in /Users/nauthiz/.ssh/id_rsa.pub.
途中で訊かれるパスフレーズは、SSHでログインする時に必要。
実行後、秘密鍵は~/.ssh/id_rsa、公開鍵は~/.ssh/id_rsa.pubに保存されてる。
$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/id_rsa
接続先サーバに公開鍵を登録
scp等で、秘密鍵(~/.ssh/id_rsa)を接続先のサーバに保存。
公開鍵認証を利用するユーザのホームディレクトリに.sshディレクトリを作成。
$ mkdir ~/.ssh $ chmod 700 ~/.ssh
~/.ssh/authorized_keysに公開鍵追記すれば、登録完了。
はじめてauthorized_keysを作成する場合はパーミッションも変更しとく。
$ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
次回からSSHを実行すると、パスフレーズを聴かれるので
ssy-keygenに入力したものと同じパスフレーズを入力すればログインできる。