无需密码通过ssh执行rsync来同步文件的方法
1.通过ssh执行rsync(需要密码)
通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器。
下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10)。
执行以下操作时,服务器将会提示需要用户使用密码登录。
复制代码 代码如下:
rsync -avz -e ssh /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 ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/
下一篇:Apache mod_rewrite中的REQUEST_URI使用实例