如何通过 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 ++一个+ YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg + u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM / CF0IJCqeXG6s + qVfRjB根@ cloudads

将此密钥复制到剪贴板并登录到目标服务器。

将此 SSH 密钥放入您的 ~/.ssh/authorized_keys 文件中:

如果您的 SSH 文件夹不存在,请手动创建:

mkdir ~/.ssh
chmod 0700 ~/.ssh
触摸 ~/.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 [email protected]:/

SSH 选项可用于保持 Rsync 安静并且不会在您每次连接到新服务器时进行提示。

验证您是否已在目标服务器 (198.211.117.129) 上收到文件:

ls -la /root/bigfile.txt

你已经完成了!

布拉特·哈米托夫

觉得文章有用?

点个广告表达一下你的爱意吧 !😁