思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【Ubuntu24.04/FreeBSD13.5】rsync over sshの設定

Ubuntu24.04なVirutalBox専用機の利用頻度の低い仮想マシンVM)をメインファイルサーバー側に置いておきたい時があります。

NFS経由で転送する手もありますが、VMはそれなりに容量があるので、”rsync over ssh”で転送したところです。

そこで、”Ubuntu24.04なVirutalBox専用機”から”FreeBSD13.5なメインファイルサーバー”に、”rsync over ssh”で転送できるように設定しておきたいと思います*1

  • 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇‍♂️

本投稿での設定は、メインファイルサーバーが起動していても、VirutalBox専用機が起動しているとは限らない環境で行っています😀。

逆に、VirutalBox専用機を起動させるときは、必ず、メインファイルサーバーが起動しているので、

  • コピー先(リモート側)は、メインファイルサーバー
  • コピー元(ローカル側)は、VirutalBox専用機

として設定し、

rsyncはコピー元(ローカル側)で実行する場合の手順になります😀。

 

1. ローカル側(コピー元/VirutalBox専用機:Ubuntu24.04)の準備

Ubuntu24.04なVirutalBox専用機は、NISクライアントに設定しています。

rsync用ユーザー”_rsync”は前にNISサーバーに設定してありますので[*2]😀、今回はrsync用ユーザー”_rsync”を”root”グループに加えておきます😀。

user@ubuntu~$ sudo apt install csh    
user@ubuntu~# sudo vi /etc/group     

 

下記の黄色字部分を追加します。

root:x:0:_rsync
daemon:x:1:

[..]



 

 

1. ローカル側(コピー元/VirutalBox専用機:Ubuntu24.04)で設定

(1)鍵ペア作成

”root”のホームの下に、_rysncユーザー用のホームディレクトリを作って、鍵ペアを作成します。

user@ubuntu~$ sudo su ; あえて、rootになる。
root@ubuntu~# cd  ; rootのホーム移動。
root@ubuntu~# chmod g+rx .    
root@ubuntu~# mkdir /root/rsync/    
root@ubuntu~# mkdir /root/rsync/.ssh    
root@ubuntu~# chown -R _rsync /root/rsync    
root@ubuntu~# cd /root/rsync/.ssh    
root@ubuntu~/rsync/.ssh# ssh-keygen -t rsa -f rsync    

 

(2)公開鍵のリモート側(コピー先)への転送

作成した公開鍵をリモート側(コピー先)への転送します。

 

root@ubuntu~/rsync/.ssh#  ftp _rsync@freebsd ;

 

ftp> cd /root/rsync/.ssh
ftp> binary

ftp> put rsync.pub ubuntu.pub



 

 

 

2. リモート側(コピー先/メインファイルサーバー)の設定

(1)公開キーのマージ

既に、リモート側(コピー先/メインファイルサーバー)には、authorized_keysがあるので[*3]、Ubuntu側から転送した公開鍵をauthorized_keysにマージします。

 

root@freebsd:~#  cd ~/rsync/.ssh ;
root@freebsd:~/rsync/.ssh#  cat pluto.pub >> authorized_keys ;

  

3. ローカル側(コピー元/VirutalBox専用機:Ubuntu24.04)で確認

(1)ssh接続の確認

初めて接続する際は”-o StrictHostKeyChecking=no”オプションを付けます。

2回目以降は、このオプションは不要になります😀。

 

root@ubuntu~/rsync/.ssh# ssh -i /root/rsync/.ssh/rsync -o StrictHostKeyChecking=no  _rsync@freebsd ;
root@ubuntu~/rsync/.ssh# ssh -i /root/rsync/.ssh/rsync _rsync@freebsd ;

 

(2)rsyncの動作確認

初めて接続する際は”-o StrictHostKeyChecking=no”オプションを付けます。

2回目以降は、このオプションは不要になります😀。

 

root@ubuntu~/rsync/.ssh# rsync -avz --rsync-path='sudo /usr/local/bin/rsync' -e "ssh -i/root/rsync/.ssh/rsync  -o StrictHostKeyChecking=no" /usr/local/ _rsync@freebsd:/tmp/usr/local/ ;
root@ubuntu~/rsync/.ssh# rsync -avz --rsync-path='sudo /usr/local/bin/rsync' -e "ssh -i/root/rsync/.ssh/rsync" /usr/local/ _rsync@freebsd:/tmp/usr/local/ ;

 

 

無事、転送テストを終えることが出来ました😀。

 

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

出典・引用・備考

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

*2:

*3: