sshでサーバ間のログインパスワードを「なし」にしよう

久々にサーバ構築の時間が出来ました。十条に住んでる今村です。

今回は、rsyncを利用して可変データ(WEBコンテンツなど)をバックアップサーバに格納する方法です。
実は、前に設定済みでしたが、

rsyncコマンドで、wwwサーバのリソースを使ってバックアップサーバにデータを送信していました。
が、「wwwサーバのリソースを使って」・・・の部分が負荷などの関係もあり、あまりよろしくないとの指摘をいただき、
そういえばそうだなと感じて、今回は、

rsyncコマンドで、バックアップサーバのリソースを使ってwwwサーバのデータを取りに行く

という方法に変更しようと思います。

で、この変更に伴い、ssh接続において、パスワード認証なしでログインしていた設定も見直すことになりました。

変更前 wwwサーバからバックアップサーバへのsshはパスワードなし

変更後 バックアップサーバからwwwサーバへのsshはパスワードなし

に変更しようと思います。

もうほとんど、こちらのサイトを参考にしました。大変ためになりました。
http://web.turbolinux.co.jp/support/document/knowledge/152.html

上のサイトが消えてしまうと後で確認が困難なので、手順を自分なりにまとめています。

【sshプロトコルの確認】
SSH protocol version 2でした。

【DSAキーの作成】
バックアップサーバでの作業です。
rootにスイッチ
# su –
# ssh-keygen -t dsa
何も入力せず、エンターを押す。
たぶん /root/.ssh ディレクトリに、「id_dsa.pub」と「id_dsa」が生成されていると思う。

【id_dsa.pubをwwwサーバへ転送】
# scp /root/.ssh/id_dsa.pub root@wwwサーバ名:/root/.ssh/

【ログイン認証設定 authorized_keys2の作成】
wwwサーバでの作業です。
rootにスイッチ
# su –
# cd /root/.ssh/
# touch authorized_keys2
# chmod 700 authorized_keys2
# cat ./id_dsa.pub >> authorized_keys2

以上で設定が完了しました。
接続確認をしてみます。

バックアップサーバから。
# ssh wwwサーバのホスト名またはIP
で、パスワード入力が出ずに接続できればOK.

rsyncの設定についてはまた後日。

2010/6/7 追記
sshのプロトコルの有線順位について、「1.2」にしてたら、上記の設定が反映されなかった。
もうsshプロトコル1なんて使用してないよね。なので変更しました。

# vi /etc/ssh/sshd-config

で、

Protocol 2

に変更しました。

著者:bouya Imamura