SSH経由でRsyncを使用してファイルをコピーする方法
ステップ1 - 公開SSHキーの設定
私たちのオリジンサーバーでは、パスワードなしで公開SSHキーを生成します:
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub
これは、他のホストに配置して私たちにアクセスを許可するための公開SSHキーです。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@cloudads
このキーをクリップボードにコピーして、目的のサーバーにログインしてください。
このSSHキーをあなたの~/.ssh/authorized_keysファイルに配置してください:
SSHフォルダが存在しない場合は、手動で作成してください:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
ステップ3 - ファイルをRsyncで転送する
Rsyncは素晴らしいユーティリティであり、多くの他の機能の中でも、圧縮を伴って再帰的にファイルをコピーしたり、暗号化されたチャネルを介して転送したりすることができます。
私たちは、オリジンサーバー(198.211.117.101)から /root/bigfile.txt ファイルをコピーし、宛先サーバー(IP: 198.211.117.129)の /root/bigfile.txt に保存します。
198.211.117.101 にログインして、ファイルを 198.211.117.129 に rsync してください:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/
別のユーザー、例えば「username」を使用している場合は、宛先サーバーの前にそれを追加する必要があります。そのユーザーの~/.ssh/authorized_keysファイルに自分の公開鍵を確実に入れておいてください:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt username@198.211.117.129:/
SSHのオプションは、Rsyncを静かに保ち、新しいサーバーに接続するたびに毎回プロンプトを表示させないのに役立ちます。
宛先サーバー (198.211.117.129) でファイルを受信したことを確認してください。
ls -la /root/bigfile.txt
そして、あなたはすべて完了です!
