原文地址:通过ssh用rsync无密码传输文件
这篇文章已经说得清楚,自己再记录一次,备用。
两台机器,服务器Remote_Server,需要同步的文件Bee_Server
1、B服务器可以通过ssh登录到R服务器,需要把B服务器的pics同步到R服务器上
2、在R服务器创建免登的ssh账号和用户组
# 创建用户组csdn
$ groupadd -g 1212 csdn
# 创建csdn用户,并加入csdn用户组
$ useradd -m -s /bin/bash -g 1212 -u 1212 csdn
# 为csdn创建.ssh目录
$ mkdir /home/csdn/.ssh
$ chown csdn:csdn /home/csdn/.ssh
3、在B服务器生成SSH Key
[root@xxxx ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /usr/rsync_id_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /usr/rsync_id_dsa.
Your public key has been saved in /usr/rsync_id_dsa.pub.
---------------------
4、把 /usr/rsync_id_dsa.pub 拷贝到R服务器上
5、在R服务上导入密匙文件
$ cd /home/csdn/.ssh
$ cat rsync_id_dsa.pub > authorized_keys
$ chown csdn:csdn authorized_keys
6、在B服务器上使用同步命令
rsync -av -e " ssh -i /usr/rsync_id_dsa" /home/bee/files/project/201812/ R服务器ssh账号@R服务端口:/home/bee/files/project/201812/
注意:
- 两个服务器路径应该相同
- R服务器上的ssh账号对同步目录的应该有写入权限
7、在B服务器上做定时任务