OS X のバージョンは 10.10.4 を使って動作を確認しました。
必要な手順は
- クライアントで鍵ペアを作る
- サーバに 1. で作った公開鍵をコピーする
- サーバの sshd に公開鍵認証を使用する設定を行う
2. と 3. は順番が逆でもいいですが、リモートから設定する事を想定してこのような手順としました。
1. クライアントで鍵ペアを作る
ディレクトリ ~/.ssh に ssh-keygen を使って鍵ペアを作ります。ターミナルで
とし、パスフレーズとか聞かれた事に答えるとファイルが作られます。$ ssh-keygen -t rsa
ファイル名はデフォルトのまま id_rsa でOKです。
2. サーバに 1. で作った公開鍵をコピーする
クライアントで作成した公開鍵ファイル ~/.ssh/id_rsa.pub の内容をサーバのファイル ~/.ssh/authorized_keys の末尾に追加します。既存ファイルがない場合
単純にファイル名を authorized_keys に変更してコピーします。コピー後、アクセス権を変更して書き換えできないようにしておきます。
$ chmod 600 ~/.ssh/authorized_keys
既存ファイルがある場合
ファイルを適当な場所にコピー( ~/id_rsa.pub とする)して、次のように末尾に書き込みます。$ chmod 700 ~/.ssh/authorized_keys $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
3. サーバの sshd に公開鍵認証を使用する設定を行う
vi などを使用して /etc/sshd_config を次のように編集します次の3行(連続した行ではありません)
を次のように変更#PermitRootLogin yes #PasswordAuthentication no #ChallengeResponseAuthentication yes
ついでに root でログインも禁止しておきました。PermitRootLogin no PasswordAuthentication no ChallengeResponseAuthentication no
ssh 接続する
ここまで設定できたらこれまでどおりでログインします。$ ssh userid@hostname
キーペアを作成した時に設定したパスフレーズを聞かれるため、答えればOK。
以上です。
それでは、また。
0 件のコメント:
コメントを投稿