无需密码通过ssh执行rsync来同步文件的方法
1.通过ssh执行rsync(需要密码)
通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器。
下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10)。
执行以下操作时,服务器将会提示需要用户使用密码登录。
rsync-avz-essh/home/ramesh/ramesh@192.168.200.10:/backup/ramesh/
2.使用ssh-keygen生成密匙
现在我们来设置ssh,以便在执行ssh操作时不需要密码,使用ssh-keygen在本地生成公钥和私钥。
$ssh-keygen Enterpassphrase(emptyfornopassphrase): Entersamepassphraseagain:
提示:当提示输入密码时,只需输入两次回车键,不指配密码字符。
3.使用ssh-copy-id将公匙拷贝至远程主机
执行ssh-copy-id,将通过ssh-keygen生成的公匙拷贝至远程主机。
ssh-copy-id-i~/.ssh/id_rsa.pub192.168.200.10
提示:执行以上操作时,将会提示输入远程主机帐户和密码,然后就会自动将公匙拷贝至远程目录。
4.无需密码通过ssh来执行rsync
现在,你可以不需要密码就可以ssh连接到远程主机
ssh192.168.200.10
重新来执行rsync,现在应该就不会提示输入密码了
rsync-avz-essh/home/ramesh/ramesh@192.168.200.10:/backup/ramesh/