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”グループに加えておきます😀。
下記の黄色字部分を追加します。
|
[..] |
|
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)公開鍵のリモート側(コピー先)への転送
作成した公開鍵をリモート側(コピー先)への転送します。

2. リモート側(コピー先/メインファイルサーバー)の設定
(1)公開キーのマージ
既に、リモート側(コピー先/メインファイルサーバー)には、authorized_keysがあるので[*3]、Ubuntu側から転送した公開鍵を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/ | ; | 。 |

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