rsync的操作有两种
1、启动rsync守护进程的
2、使用remote shell处理的
这里只记录第二种情况,这样更简单。实际上rsync使用的SSH来认证用户的,在没有通过SSH认证的情况下,一般需要输入相应用户名密码,比如:rsync -avz --progress --rsh=ssh /var/lib/mysql root@192.168.1.2:/var/lib/mysql, 执行完这句后会提示输入用户root的密码,这样在程序自己处理的情况就很不爽了。
添加SSH认证:
#ssh-keygen -t rsa
一阵回车后,会生成id_rsa id_rsa.pub两个文件,id_rsa为私钥,id_rsa.pub为公钥
可以将公钥上传到备份的服务器上
#scp id_rsa.pub root@192.168.1.1:server_1
文件会放在用户目录下,然后将server_1文件复制到用户目录下的.ssh 目录下
#mv server_1 .ssh/
最后将密钥导入 authorized_keys文件
#cat server_1 >> authorized_keys
这样就可以不输入密码了
每个用户都有相应的用户目录,具体查看/etc/passwd
1、启动rsync守护进程的
2、使用remote shell处理的
这里只记录第二种情况,这样更简单。实际上rsync使用的SSH来认证用户的,在没有通过SSH认证的情况下,一般需要输入相应用户名密码,比如:rsync -avz --progress --rsh=ssh /var/lib/mysql root@192.168.1.2:/var/lib/mysql, 执行完这句后会提示输入用户root的密码,这样在程序自己处理的情况就很不爽了。
添加SSH认证:
#ssh-keygen -t rsa
一阵回车后,会生成id_rsa id_rsa.pub两个文件,id_rsa为私钥,id_rsa.pub为公钥
可以将公钥上传到备份的服务器上
#scp id_rsa.pub root@192.168.1.1:server_1
文件会放在用户目录下,然后将server_1文件复制到用户目录下的.ssh 目录下
#mv server_1 .ssh/
最后将密钥导入 authorized_keys文件
#cat server_1 >> authorized_keys
这样就可以不输入密码了
每个用户都有相应的用户目录,具体查看/etc/passwd