首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux +自动rsync命令

问linux +自动rsync命令
EN

Server Fault用户
提问于 2011-11-13 14:54:26
回答 3查看 373关注 0票数 0

我的目标是在没有登录和密码的情况下将/tmp/ my _file从10.10.10.1复制到我的Linux机器上,我用正确的密码设置密码文件-- secret123,所以rsync应该工作,请告诉我为什么被拒绝许可。

备注- 10.10.10.1地址为linux机器版本-红色帽子5.3

代码语言:javascript
复制
   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
EN

回答 3

Server Fault用户

回答已采纳

发布于 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。

代码语言:javascript
复制
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更简单。

尝试在没有复制选项的情况下测试访问。像这样的事情应该有效:

代码语言:javascript
复制
rsync -vvv --password-file=/tmp/passwords rsync@10.10.10.1::tmp/my_file

EDIT2:我重读了你的查询.似乎您想要复制一个没有登录的文件。最简单的方法是在远程系统上使用scp和am授权的密钥文件。很少有文件只能通过根用户读取,因此您应该能够使用不同的用户id。尝试这样的命令:

代码语言:javascript
复制
scp user@10.10.10.1:/tmp/my_file . 

使用rsync的唯一优点是,如果文件没有被替换,就避免复制它。因为您使用了-W选项,所以您失去了只传输更改的优势。对于日志文件,--append选项有助于加快传输速度。

票数 1
EN

Server Fault用户

发布于 2011-11-13 16:49:15

-密码-文件选项只能在连接到rsync服务器时使用。

为了工作,您必须在ssh上使用rsync和密钥身份验证。

- password -file此选项允许您在文件中提供用于访问rsync守护进程的密码。

来自:rsync手册页

票数 1
EN

Server Fault用户

发布于 2011-11-14 00:05:29

最简单的方法是设置SSH键并使用这些键来建立rsync连接。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/330536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档