7

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

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

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

4

3 回答 3

4

那是对的,

--password-file仅在连接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/
于 2012-11-22T10:20:06.827 回答
1

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

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" 问候

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

于 2018-12-16T09:43:01.133 回答
0
rsync -arv -e \
    "sshpass -f '/your/pass.txt' ssh -o StrictHostKeyChecking=no" \
    --progress /your/source id@IP:/your/destination

如果你没有,也许你必须安装“sshpass”。

于 2016-08-10T03:51:54.223 回答