思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD】rsync/ssh設定(メインファイルサーバーー>ミラーサーバー転送)

本投稿について
  • 本投稿は、拙宅イントラネットのWWWサーバー上に保管してあったHTMLファイルの作業記録を、転記・体裁調整したものです。【注*1
  • 投稿日付は、オリジナルのHTMLファイルのタイムスタンプに修正しております。
  • 小生の健忘禄になりますことをご容赦いただければ幸いです。

 

 

1. mirrorsvでの設定とテスト(NOPASSWDテスト)

(1)ミラーサーバー(mirrorsv)でのrsyncコンパイルとインストール

 

root@mirrorsv# cd /usr/ports/net/rsync    
root@mirrorsv# make    
root@mirrorsv# make install    
(2)ミラーサーバー(mirrorsv)でのSudoのコンパイルとインストール
(3)メインファイルサーバー(mainsv)の設定

 

root@mainsv# vi /root/rsync/rsync.sh    

 

以下の内容で作成

#!/bin/sh
/usr/local/bin/sudo /usr/local/bin/rsync $*

 
 
root@mainsv# visudo    
 

以下の黄色字部分を修正

# User privilege specification
root ALL=(ALL) ALL
rsync ALL=(ALL) NOPASSWD: /usr/local/bin/rsync

(3)ミラーサーバー(mirrorsv)でのrsyncの動作テスト

 

root@mirrorsv# rsync -azv --rsync-path="/root/rsync/rsync.sh" rsync@mainsv:/share/Linux/ /share/Linux/ 転送
root@mirrorsv# rsync -azv --rsync-path="/root/rsync/rsync.sh" rsync@mainsv:/share/Linux/ /share/Linux/

差分のみの転送の確認

 

2. mirrorsvでの設定とテスト(公開キー利用テスト)

(1)メインファイルサーバー(mainsv)の設定

 

root@mainsv# vi /usr/local/etc/rsyncd.conf    

以下の内容で作成

uid = rsync
gid = wheel
use chroot = yes
#max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.aaa.zyz
hosts deny = *


[Linux]
comment = Linux Common
path = /share/Linux/
auth users = rsync
secrets file = /root/rsync/rsyncd.secrets
read only = no







接続元ホストを限定する。
上記以外からの認めない。






 

 

 
(2)ミラーサーバー(mirrorsv)での設定

 

  1. 公開キーの作成
    root@mirrorsv# cd /root/rsync/.ssh    
    root@mirrorsv# ssh-keygen -t rsa -f rsync    
  2. 公開キーの転送
    root@mirrorsv# ftp mainsv    

     

    ftp> cd /root/rsync/.ssh
    ftp> binary
    ftp> put rsync
    ftp> put rsync.pub authorized_keys



     

 

(3)メインファイルサーバー(mirrorsv)での設定

 

root@mainsv#  cd /root/rsync/.ssh    
root@mainsv# chmod 600 authorized_keys パーミッションの設定変更
root@mainsv# chmod 644 rsync パーミッションの設定変更
 
(4)ミラーサーバー(trition)上でのrsync/ssh動作確認テスト

 

root@mirrorsv# rsync -azv -e 'ssh -i /root/rsync/.ssh/rsync' --rsync-path="/root/rsync/rsync.sh" rsync@mainsv:/share/Linux/ /share/Linux/ パスワード要求なしでの、差分のみの転送の確認

 

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

 

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。