如何通过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 -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/

如果您使用不同的用户,例如“用户名”,那么您必须将其附加到目标服务器的前面。 确保在该用户的 ~/.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

你们都完成了!

布拉特·哈米托夫