我的目标是在没有登录和密码的情况下将/tmp/ my _file从10.10.10.1复制到我的Linux机器上,我用正确的密码设置密码文件-- secret123,所以rsync应该工作,请告诉我为什么被拒绝许可。
备注- 10.10.10.1地址为linux机器版本-红色帽子5.3
rsync -WavH --password-file=/tmp/passwords --progress root@10.10.10.1:/tmp/my_file .
Permission denied.
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(165)
more /tmp/passwords
secret123
ls -ltr passwords
-rwxr-xr-x 1 root root 10 Sep 12 17:32 passwords发布于 2011-11-13 15:42:47
看起来您可能正在使用SSH连接到root。SSH通常不允许登录到root,而且许多发行版根本不允许根登录。使用SSH授权密钥使您能够以根用户身份连接可能会更好。
如果可以的话,最好是连接到根帐户以外的帐户。
如果您想在远程端使用rsync deamon,我相信在服务器规范之后您需要两个冒号。Rsync用户ids与系统用户ids不相同。访问由rsync配置文件控制。
编辑:如果您在10.10.10.1上使用rsyncd deamon,那么这两种方法都可以。(注意:我更改了用户id,尽量避免使用root。)我还假设您有一个tmp模块映射到/tmp。
rsync -WavH --password-file=/tmp/passwords --progress rsync@10.10.10.1::tmp/my_file .
rsync -WavH --password-file=/tmp/passwords --progress rsyncd://rsync@10.10.10.1:tmp/my_file .验证您可以使用命令telnet 10.10.10.1 873连接到守护进程,该命令应该返回RSYNC版本。您还可以使用rsync命令rsync 10.10.10.1::进行测试,该命令应该返回一个公共共享列表。将用户and和密码文件添加到命令中,以获得私有共享。
如果,如表面上看,S你在使用ssh,使用私钥。您可以使用ssh-agent和ssh-add加载密钥,这样就不需要输入密码了。同样,除非必须使用根,否则不要使用根。最好使用不同的组授予对文件的访问权,并设置一个具有对该组的访问权限的userid。
您可以使用ssh测试ssh访问。如果要复制该文件时总是新文件,则scp将比rsync更简单。
尝试在没有复制选项的情况下测试访问。像这样的事情应该有效:
rsync -vvv --password-file=/tmp/passwords rsync@10.10.10.1::tmp/my_fileEDIT2:我重读了你的查询.似乎您想要复制一个没有登录的文件。最简单的方法是在远程系统上使用scp和am授权的密钥文件。很少有文件只能通过根用户读取,因此您应该能够使用不同的用户id。尝试这样的命令:
scp user@10.10.10.1:/tmp/my_file . 使用rsync的唯一优点是,如果文件没有被替换,就避免复制它。因为您使用了-W选项,所以您失去了只传输更改的优势。对于日志文件,--append选项有助于加快传输速度。
发布于 2011-11-13 16:49:15
-密码-文件选项只能在连接到rsync服务器时使用。
为了工作,您必须在ssh上使用rsync和密钥身份验证。
- password -file此选项允许您在文件中提供用于访问rsync守护进程的密码。
来自:rsync手册页
发布于 2011-11-14 00:05:29
最简单的方法是设置SSH键并使用这些键来建立rsync连接。
https://serverfault.com/questions/330536
复制相似问题