1

您好,我尝试使用 ssh 从 Windows 到 linux 进行 rsync,但我收到以下消息:rsync:没有看到服务器问候语

我尝试了从 linux 到 linux 的 rsync ssh,它可以工作。所以这是我在 Windows 上的命令:

C:\Temp\cwRsync_5.5.0_x86_Free\bin>Rsync -av -e "./ssh -i C:\Temp\id_rsa" /cygdrive/c/Temp ouistitis@192.168.1.12::.
Enter passphrase for key 'C:\Temp\id_rsa':
rsync: did not see server greeting
rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

这是服务器 auth.log:

Mar  3 01:00:13 ORDI sshd[16605]: Accepted publickey for ouistX from 192.168.1.15 port 50590 ssh2: RSA a7:XX:b3:XX:8d:XX:4c:5a:87:XX:2a:55:a9:37:54:45
Mar  3 01:00:14 ORDI sshd[16624]: Received disconnect from 192.168.1.15: 11: disconnected by user

客户端好像有问题,版本问题?

这是 cwrsync 的免费版本。

谢谢

4

3 回答 3

3

如果您想通过 SSH 进行 rsync,但收到“没有看到服务器问候语”和“错误启动客户端-服务器协议”,请确保在文件系统路径之前使用单个冒号指定目标:

rsync -avz -e "ssh -i <somekey>" somedir <user>@<host>:somedir

即使您使用标志指定 SSH 可执行文件,文件系统路径(如<user>@<host>::somedir)前带有双冒号的目标也会rsync使用其守护程序而不是 SSH 。-e

它在 rsync 手册中有说明——当端口未指定时,您可以在目标文件系统路径前使用双冒号看到单独的“通过 rsync 守护进程访问”部分:

SYNOPSIS
       Local:  rsync [OPTION...] SRC... [DEST]

       Access via remote shell:
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

       Access via rsync daemon:
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
               rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
               rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

我偶然发现了同样的问题,因为 rsync 的手册并没有让它很明显。

于 2017-07-09T15:52:17.533 回答
0

最后,它似乎是 ssh 版本的兼容性。我最终选择 了使用 ssh 密钥处理 sftp 连接的完全同步。不如rsync,但还是很不错的

于 2016-04-07T12:34:21.130 回答
0

可能你的rsync服务器的端口已经被使用了,如果被使用了,rsync服务器也可以启动成功,但是有这样的问题:

rsync:没有看到服务器问候 rsync 错误:在 main.c(1503) [sender=3.0.6] 处启动客户端-服务器协议(代码 5)时出错

于 2017-12-28T10:32:54.477 回答