通常 ssh でログインするときにはパスワードを入力する必要がある。しかし,rsync などを自動で実行する場合,パスワードの入力はその妨げになる。
以下のように,RSA認証キーを共有することにより,パスワードなしで ssh による接続が可能になる。
(1)RSA認証キーを作成する
クライアントになるマシン上で
# ssh-keygen -t rsa
を実行する。
キーワードを尋ねられたら何も入力せずに[Enter]キーを押す。
ログインしているユーザーのホームディレクトリに,~/.ssh/ が
でき,その中に「id_rsa」と「id_rsa.pub」が生成される。
(2)公開キーをリモートサーバにコピーする
「id_rsa.pub」をログインしたいリモートサーバの同じユーザの
ホームディレクトリ ~/.ssh/ の下「authorized_keys」に追加
する。「authorized_keys」が無ければ作成すればよい。
★重要:「authorized_keys」のパーミションは「600」にすること。
備考
ユーザ「root」でログインするには
設定ファイル /etc/ssh/sshd_config を編集し
「PermitRootLogin yes」にする。
# service sshd restart を実行して sshd を再起動する。