rsync 免密登录(daemon方式和ssh方式)

一、server端配置rsync 并以daem的方式运行rsync.

server 端的配置文件为/etc/rsyncd.conf:

uid=alun

gid=alun

pid file=/var/run/rsyncd.pid

log file=/var/log/rsyncd.log

secrets file=/etc/rsyncd.secrets #指定登录rsyncd的用户名和密码,文件为用户名:密码对,文件权限必须是600.

auth users=alun #指定rsync的用户名,可以和server当前系统的用户名相同也可以不同。

[repo] #模块配置,repo为模块名,一个模块对应一个文件目录,path为其根目录。

path = /home/alun

read only = no

auth users=alun #指定可以访问该模块的用户

 

rsyncd.secrets 文件:

alun:alun086

 

二,客户端的使用方式

1、使用环境变量, RSYNC_PASSWORD指定密码:

export RSYNC_PASSWORD="alun086"

rsync 文件名 alun@192.168.56.2::repo #此处必须是双冒号,表示以daemon的方式使用rsync,或者使用rsync协议:

rsync file_name rsync://alun@192.168.56.2/repo

2、使用--password-file选项指定secrets文件:

rsync file_name --password-file=./rsyncd.secrets alun@192.168.56.2::/repo

此处的secrets文件只包含用户alun的密码。

 

三、rsync 开机启动

ubuntu /etc/init.d下已有rsync的启动脚本。开启rsync开机启动只需修改/etc/default/rsync中的RSYNC_ENABLE选项为true即可,默认为false.

 

附:

如果采用ssh方式同步文件,可按ssh免密方式操作:

1. 在Client端生成公钥和私钥:

ssh-keygen -t rsa

会在当前用户根目录下生成.ssh文件夹和id_rsa及id_rsa.pub两个文件。

2. Copy 公钥到Server端:

ssh-copy-id user-name@servier-ip

user-name: 登录server的用户名

然后输入密码。Client端的公钥会被拷贝到Server上/home/user-name/.ssh/authorized_keys中,此后登录就不用输入密码了。

posted @ 2021-01-06 11:06  耕读编码  阅读(1910)  评论(0编辑  收藏  举报