ssh 正常,但是尝试 rsync 时连接被拒绝,为什么?

ssh 正常,但是尝试 rsync 时连接被拒绝,为什么?

编辑问题,抱歉造成混淆

我需要制作一个 cron 作业来备份远程服务器上的目录,并将备份放在运行 cron 作业的机器上。远程服务器没有 rsync,这就是我这样做的原因。

远程服务器名称是athens,我要备份的目录是/disk3/nicolas/scripts

唯一允许的连接是 ssh,它可以工作。我启动此命令将 SRC(athens::disk3/nicolas/scripts/)复制到当前目录

rsync --verbose athens::disk3/nicolas/scripts/ .

rsync: failed to connect to athens: Connection refused (61)
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-40/rsync/clientserver.c(105) [receiver=2.6.9]

我需要在远程服务器上编辑某些内容吗?也许是 inetd.conf?

按照要求,我使用的是 rsync 版本 2.6.9。没有 -e 选项来强制使用 ssh,在我的 rsync 版本中,-e 选项用于指定要使用的远程 shell。我无法增加更多详细程度。

答案1

尝试在 rsync 中添加详细模式-vvv来查看失败的位置。

您是否正在使用非常老版本的 rsync,该版本默认不使用 ssh(早于 2.6.0)?如果是这样,请尝试添加-e ssh强制 ssh 模式。

请编辑您的问题并粘贴您的调试输出和您尝试运行的精确 rsync 命令行。

答案2

你说:

唯一允许的连接是 ssh

当尝试使用 rsync 守护程序而不是 ssh 上的 rsync 时,您需要打开 tcp 端口 873 并确保 rsyncd 正在远程计算机上运行。

在这种情况下,我怀疑您实际上想要通过 ssh 执行 rsync,在这种情况下将双 :: 更改为单个 : 可能足以实现这一点:

rsync -v athens:/disk3/nicolas/scripts/ .

类似上述操作可能会做到这一点,您需要一个:并指定有效路径。

相关内容