Open sshの公開鍵認証を行うための設定方法を説明します。
[詳細]
- ssh設定確認
- リモート側のsshdの設定確認
/etc/ssh/sshd_config内にパラメータ"PubkeyAuthentication"のデフォルトが"yes"なので、パラメータが存在しない、もしくは値が"yes"になっていることを確かめます。 - ローカル側のsshの設定確認
リモート側と同様に/etc/ssh/ssh_config内にパラメータ"PubkeyAuthentication"が存在しない、もしくは値が"Yes"になっていることを確認します。
同じようにパラメータ"PreferredAuthentications"について、存在しないもしくは"keyboard-interactive","password"よりも"publickey"が前になっているかについても確認します。
なお、ローカル側の設定は、~/.ssh/configの設定が、/etc/ssh/ssh_configよりも優先されるのでユーザ毎に設定を行うことができます。
- リモート側のsshdの設定確認
- 鍵の作成
ローカルのPC上で鍵を作成します。秘密鍵のパス、パスフレーズとその確認を入力します。ちなみに、パスフレーズ(Passphrase)とは、長いパスワードと考えてください。# phrase(句)はWord(語)よりも長い。[root@local.localdomain ~]# ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a4:a0:35:45:49:16:d5:6c:cb:07:3b:89:ab:80:d9:75 root@local.localdomain
デフォルトでは、秘密鍵は"/root/.ssh/id_rsa"として、公開鍵は"/root/.ssh/id_rsa.pub"として作成されます。 - 公開鍵の登録
- 公開鍵をリモート側にコピーします。[local.localdomain ~]# scp .ssh/id_rsa.pub romote.localdomain:
- 公開鍵をauthorized_keysに登録します。[remote.localdomain ~]# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
- authorized_keysには、自分以外のアクセス権を外します。この操作はauthorized_keysの作成時に1度だけで行えば構いません。chmod 600 ~/.ssh/authorized_keys
- リモートにコピーした公開鍵ファイルを削除します。[remote.localdomain ~]# rm ~/id_rsa.pub
- 公開鍵をリモート側にコピーします。
- 接続確認
リモートへの接続を確認します。"Enter passphrase "と表示されれば、公開鍵での認証が使われています。[local.localdomain ~]# ssh romote.localdomain
Enter passphrase for key '/root/.ssh/id_rsa':
Last login: Thu Jan 28 21:53:18 2010 from 192.168.1.202
[root@romote.localdomain ~]#
以上で公開鍵認証の設定の説明は終了です。
0 件のコメント:
コメントを投稿