您好,我尝试使用 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 的免费版本。
谢谢
最佳答案
如果您想通过 SSH 进行 rsync,但收到“没有看到服务器问候语”和“启动客户端-服务器协议(protocol)时出错”,请确保目标是用单个冒号指定的在文件系统路径之前:
rsync -avz -e "ssh -i <somekey>" somedir <user>@<host>:somedir
在文件系统路径之前带有双冒号的目标(如 <user>@<host>::somedir
)使 rsync
使用它的守护进程而不是 SSH 即使你用 -e
指定了一个 SSH 可执行文件旗帜。
在 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 的手册并没有把它说得很清楚。
关于windows - cwrsync 同步 : did not see server greeting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35767328/