且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

无需密码通过ssh执行rsync来同步文件的方法

更新时间:2022-09-11 20:56:28

1.通过ssh执行rsync(需要密码)

通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器。
下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10)。
执行以下操作时,服务器将会提示需要用户使用密码登录。


复制代码代码如下:


rsync -avz -e /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/


2.使用ssh-keygen生成密匙

现在我们来设置ssh,以便在执行ssh操作时不需要密码,使用ssh-keygen在本地生成公钥和私钥。


复制代码代码如下:


$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:


提示:当提示输入密码时,只需输入两次回车键,不指配密码字符。

3.使用ssh-copy-id将公匙拷贝至远程主机

执行ssh-copy-id,将通过ssh-keygen生成的公匙拷贝至远程主机。


复制代码代码如下:


ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10


提示:执行以上操作时,将会提示输入远程主机帐户和密码,然后就会自动将公匙拷贝至远程目录。

4.无需密码通过ssh来执行rsync

现在,你可以不需要密码就可以ssh连接到远程主机


复制代码代码如下:


ssh 192.168.200.10


重新来执行rsync,现在应该就不会提示输入密码了


复制代码代码如下:


rsync -avz -e /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

本文转自  陈小龙哈   51CTO博客,原文链接:http://blog.51cto.com/chenxiaolong/1835767