-
问题描述
rsync
通过ssh
将本地数据同步到远程服务器,需要交互式输入密码.从Linux命令大全/rsync可以看到有一个参数
--password-file=FILE
, 可以从FILE中获得密码.对于这个FILE,要求600权限.
适用上述参数出现:
The --password-file option may only be used when accessing an rsync daemon
《rsync 原生的无密码同步方法记录》这里给出了详细解释,还是有些复杂
-
优选方案
讲
ssh
设为免密登录,这样调用ssh
的rsync
就可以免密了。参见《How to Setup Rsync without password using SSH on Linux》
还会出现问题,如果创建秘钥
ssh-keygen
时输入了passphrase 密码,那ssh不需要登录账号密码,但是还需要这个passphrase密码。# 本地A客户端,连接服务器B # 在A操作 ssh-keygen # passphrase 为空,不然后面rsync登录不要用户密码,还是要这个密码 ssh-copy-id usr@ip -p 22 # 这里-i指定id_rsd.pub要确认好当下文件夹和默认新生成文件anthorized_keys中位置,这一步将本地id_rsd.pub追加到B服务器的~/.ssh/anthorized_keys中,如果没有会自定新建anthorized_keys中
-
References
(20201026已解决)bash脚本中给rsync指定密码
最新推荐文章于 2024-04-24 11:05:53 发布