ウェブサイト検索

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

そして、あなたはすべて完了です!

関連記事: