注意:
あらかじめ初期設定は終わっていることを前提としています。
root権限でリモートログイン出来ないように設定しておいてください。
デフォルトではssh接続は公開鍵認証ではなく、パスワード認証されるよう設定されています。
この状態では、
この条件が揃っていれば、誰でもサーバーにアクセス出来て危険です。
これを鍵認証のみssh接続を許可するように設定変更しましょう。
(1) まず、クライアントで鍵を作ります(例では、client_rsaというRSA鍵を作成)。
$ ssh-keygen -f client_rsa -t rsa Enter passphrase: パスワードを入力 Enter some passphrase again: パスワードをもう一度入力
(2)ユーザーフォルダ配下に .ssh フォルダが作成され、以下のような鍵が作成されます。
$ ls ~/.ssh client_rsa client_rsa.pub
(3)scpコマンドでclient_rsa.pubを送ります。
$ scp ~/.ssh/client_rsa.pub admin@192.168.1.100:~ admin@192.168.1.100 ‘s password:(パスワードを入力) client_rsa.pub 100% 16 0.0 KB/s 00:00
(4)sshコマンドでサーバーに入ります。
$ ssh admin@192.168.1.100 admin@192.168.1.100 ‘s password:(パスワードを入力) Last login: Sat May 22 14:26:25 2010 from 192.168.1.55 [admin@centos ~]$
(5)公開鍵をリモートサーバーに登録します。
.sshディレクトリがあるか確認します。
[admin@centos ~]$ ls -aF ./ .bash_history .bash_profile .mozilla/ .viminfo ../ .bash_logout .bashrc .ssh/ .zshrc
[admin@centos ~]$ mv ~/client_rsa.pub ~/.ssh [admin@centos ~]$ cat ~/.ssh/client_rsa.pub >> authorized_keys [admin@centos ~]$ chmod 600 authorized_keysauthorized_keysというファイルに公開鍵を書き込みます。
[admin@centos ~]$ cd ~ [admin@centos ~]$ mkdir .ssh [admin@centos ~]$ chmod 700 .ssh [admin@centos ~]$ mv ~/client_rsa.pub ~/.ssh [admin@centos ~]$ cat ~/.ssh/client_rsa.pub >> authorized_keys [admin@centos ~]$ chmod 600 authorized_keysauthorized_keysというファイルに公開鍵を書き込みます。
(6)サーバーにコピーした鍵は削除します。
[admin@centos ~]$ rm ~/.ssh/client_rsa.pub
(7)いったんログアウトしてログインしてみましょう。
[admin@centos ~]$ exit Connection to centos closed. $ ssh -i ~/.ssh/client_rsa admin@192.168.1.100 Last login: Sat May 22 14:27:00 2010 from 192.168.1.55 [admin@centos ~]$
設定を間違っていなければ、パスワード無しで認証出来るようになったはずです。
(8)パスワード認証を不可に設定します。
[root@centos ~]# vi /etc/ssh/sshd_config PasswordAuthentication yes ↓ PasswordAuthentication no
(9)sshサーバーを再起動します。
[root@centos ~]# /etc/rc.d/init.d/sshd restart sshd を再読み込み中: [ OK ]
以上。