まずは、パスワードで SSH ログイン。
最初から ssh は入っているようなので、設定ファイルを書き換える。
# vim 入ってなかった
$ sudo vi /etc/ssh/sshd_config
# root でのログインを不可
- PermitRootLogin yes
+ PermitRootLogin no
まだカギを生成指定なので、とりあえず root でのログインだけ封じておく。
サービスを再起動
$ sudo service ssh restart
ssh start/running, process 1043
パスワードでログインだと不安なので、鍵を使ったログインにしましょう。
クライアントの Ubuntu で鍵を生成。
% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): # 何も入力せず Enter
Enter passphrase (empty for no passphrase): # SSH用パスワードの入力
Enter same passphrase again: # パスワード確認のためもう一度入力
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX user@host
これで $HOME/.ssh/ 以下に id_rsa, id_rsa.pub が作成された。
% ls -al ~/.ssh
合計 20
drwx------ 2 user user 4096 2012-04-13 07:14 .
drwxr-xr-x 57 user user 4096 2012-04-13 07:19 ..
-rw------- 1 user user 1743 2012-04-13 07:14 id_rsa
-rw-r--r-- 1 user user 398 2012-04-13 07:14 id_rsa.pub
-rw-r--r-- 1 user user 442 2012-04-13 06:46 known_hosts
id_rsa が秘密鍵で、id_rsa.pub が公開鍵なので id_rsa.pub を接続したい先のサーバに登録してやる。
% scp .ssh/id_rsa.pub サーバのIPアドレス:~/
id_rsa.pub 100% 398 0.4KB/s 00:00
次はサーバ側でこの鍵を登録する。
# なかったので作成
$ mkdir .ssh
# 登録。最初だから > でもいいけど、今後のことを考えて >> でやるようにしとく
$ cat id_rsa.pub >> .ssh/authorized_keys
これで今後、このクライアントからのアクセスは鍵方式での認証になる。