2012年4月18日水曜日

rsync(sshによるパスワード無しログインを使う)の手順メモ


◆ 目的
サーバA側でサーバB上のディレクトリファイル(/etc/test/)を
バックアップする。

手段としてrsyncを利用する。
ログイン手段としてはパスワードなしsshを使う。

                   22/tcp
 ----------        ----------
|          |----> |          |
| server A |     ↓| server B |
|          |<---  |          |
 ----------        ----------



◆ パスワードなしssh接続の準備

・ サーバA側
rootになる。
$ su -

秘密キー、公開キーを作成する。
# ssh-keygen -t rsa -f ~/.ssh/nopassid_rsa -N ''
-t : type
-f : filename
-N : New passphrase

作成されたファイルを確認する。
# ls ~/.ssh/nopassid_rsa*
~/.ssh/nopassid_rsa 
~/.ssh/nopassid_rsa.pub

公開キーを確認する。
# cat ~/.ssh/nopassid_rsa.pub
公開キーをコピーしておく


・ サーバB側
rootになる。
$ su -

公開キー保存ファイルを作成する。
# test -d ~/.ssh || mkdir -m 700 ~/.ssh

公開キーをコピーする。
# vi  ~/.ssh/authorized_keys
サーバA で作成した公開キーをペースト

# chmod 600 ~/.ssh/authorized_keys



◆ rsyncのインストール
サーバA側で rsync のパッケージをyumでインストールする。
$ su -
# yum install rsync



◆ rsync用コマンド
サーバA側で rsync コマンドを実行する。
# rsync -arv -e "ssh -i ~/.ssh/nopassid_rsa" \
--delete --bwlimit=3072 root@サーバB:/etc/test/ /etc/test/
-a : archive
-r : recursive
-v : verbose
-e : specify the remote shell to use
--delete :extraneous files from dest dirs
--bwlimit : limit I/O bandwidth; KBytes per second
※3072 = 1024 * 3