通过 ssh 端口进行 rsync

通过 ssh 端口进行 rsync

我正在尝试通过 SSH 使用 rsync,服务器以守护进程模式运行 rsync,客户端使用以下命令连接:

rsync -options user@server::folder /local/copy

这很好。问题是 SSH 在服务器上的非默认端口上运行,以下操作失败:

$rsync -options -e 'ssh -p 1234' user@server::folder /local/copy
#######################################
# Access to this server is prohibited #
########## Disconnect NOW! ############
#######################################
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(463) [receiver=2.6.8]

但是 SSH 可以工作(它使用密钥):

[user@client ~]$ ssh -p 1234 user@server
#######################################
# Access to this server is prohibited #
########## Disconnect NOW! ############
#######################################
Last login: Thu Mar 31 09:18:08 2011 from 1.2.3.4
[user@server ~]$

我该如何解决这个问题?SSH 可以工作,rsync 也可以工作,但是它们一起不工作。我已关闭 iptables,如上所示,它确实可以连接,但是 rsync 无法连接到定义的文件夹?

答案1

您正在使用用于 rsyncd 守护进程的 :: 语法。如果您要通过 alt ssh 端口进行复制,请使用以下选项:

$ rsync -options -e'ssh -p 1234'用户@服务器:/文件夹/本地/复制

相关内容