rsync 中 --password-file 选项的语法和先决条件是什么?



我想存储rsync附带的--password文件选项。我不想使用ssh公钥加密。我尝试过这个命令:

rsync -avz --progress --password-file=pass.txt source destination

上面写着:

The --password-file option may only be used when accessing an rsync daemon.

所以,我尝试使用:

rsync -avz --progress --password-file=pass.txt source destination rsyncd --daemon

但这会返回各种错误,比如未知选项。我的糖浆正确吗?如何在Debian机器中设置rsync守护进程。

这是正确的,

-密码文件仅适用于将连接到rsync后台进程时。

不过,您可能还没有在守护进程中设置它,您设置的密码和您在调用过程中使用的密码必须匹配
编辑/etc/rsyncd.secrets,并将该文件的所有者/组设置为具有全局读取权限的root:root。

#/etc/rsyncd.secrets
root:YourSecretestPassword

要连接到rsync守护进程,请使用双冒号,后跟模块名称和要同步的文件或文件夹(使用SSH时不要使用冒号),

RSYNC_PASSWORD="YourSecretestPassword"; rsync -rtv user@remotehost::module/source/ destination/ 

注:

  • 这意味着放弃SSH加密,尽管密码本身不是以明文形式通过网络发送的,但您的数据是
  • 这已经是不安全的了,永远不要与您的任何用户帐户使用相同的密码
  • 为了更好地了解其内部工作(如何让特定的IP/进程能够在不需要用户帐户的情况下上传到文件系统的指定区域):http://transamrit.net/docs/rsync/

经过一段时间的尝试,我成功了。由于我作为备份用户从我的实时服务器(和路由器数据)复制到我笔记本电脑中的本地服务器,密码没有问题。密码是未加密的,它在家里的笔记本电脑上是安全的。首先,如果Centos使用yum install sshpass,则需要安装sshpass,然后创建用户备份并分配临时密码。我列出了-p选项,以防您的ssh端口与默认端口不同。

sshpass -p 'password' rsync -vaurP -e 'ssh -p 2222'  backup@???.your.ip.???:/somedir/public_data/temp/ /your/localdata/temp

了解SSH RSA是一种更好的永久性替代方案,但它是一种快速的备份和恢复替代方案。如果您不太关心安全性,而是更关心您的数据已在本地备份(如在紧急情况下进行数据恢复),则它会起作用。您的用户备份密码,备份完成后即可更改。当您的服务器更改IP、用户、,并且不断地修改(当路由器更改配置和非静态IP时,也当路由器不是本地的,并且你在本地备份客户端服务器时,你并不总是有权进行SSH。我的一些客户端甚至没有安装SSH,他们不想麻烦创建公钥。在一些服务器上,只有你临时可以访问。顺便说一句,如果你想进行还原,只需将案例不需要做太多更改,从同一个命令shell中,您可以颠倒目标目录和源目录的顺序,并在目标上创建另一个具有相同临时密码的备份用户。完成后,您将删除备份用户或更改其在目标和/或源服务器上的密码。您可以像我所做的那样,使用bash脚本为多服务器环境替换单行文件的密码,从而进一步进行保护。另一种选择是使用-f选项,这样密码就不会显示在bash历史-f "/path/to/passwordfile"Regards 中

注意:如果您只想更新修改过的文件,那么您应该使用如下所述的参数-h-v-r-p-thttps://unix.stackexchange.com/questions/67539/how-to-rsync-only-new-files

rsync -arv -e 
"sshpass -f '/your/pass.txt' ssh -o StrictHostKeyChecking=no" 
--progress /your/source id@IP:/your/destination

如果没有的话,也许你必须安装"sshpass"。

最新更新