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

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

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

代码如下:

rsync -avz -e ssh /home/ramesh/ [email protected]:/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 ssh /home/ramesh/ [email protected]:/backup/ramesh/

相关推荐