rsync 错误:rsync 协议数据流错误(代码 12)

rsync 错误:rsync 协议数据流错误(代码 12)

伙计们,这是我尝试将文件发送到服务器时遇到的错误。我不确定出了什么问题。有人能帮我解决这个问题吗?提前谢谢。

$ rsync -avz ./ ssc:/webapp/

rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.3]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(228) [sender=3.2.4dev]

答案1

https://youtrack.jetbrains.com/issue/IDEA-270793

我添加了“-e /usr/bin/ssh”并解决了该问题。

rsync -e /usr/bin/ssh -vP /c/projects/cpp/RecFileExtractBatch/example_recfile_extract_command_file.xml thtran@p811:/home/thtran/mnt_win_pdatx_linux

答案2

我在 Windows 11 上使用 cygwin rsync。我仍然不能 100% 确定为什么这最近才开始失败,但我发现使用带有 cygwin rsync 的 Windows OpenSSH 导致了错误。

我最终为 cygwin 安装了 OpenSSH,并将C:\cygwin\bin其移至C:\WINDOWS\System32\OpenSSH\环境变量中的路径中。这为我解决了问题。

答案3

GentlemanJohn 的回答对我非常有帮助。我采纳了他的建议,但我改用了/user/bin/ssh修改路径。例如:

$ rsync -avz -e "/bin/ssh -i .ssh/id_rsa" --progress [email protected]:/ads/qsmrp/ qsmrp

(qsmrp 目录上的尾部斜杠表示仅复制其内容。)

Windows 版本的 openssh 阻止 rsync 工作(传输了 0 字节)。

答案4

在“设置”>“应用程序”>“可选功能”中删除 OpenSSH-Cliente,安装 Git 并添加C:\Program Files\Git\usr\bin到 Windows PATH。并确保 rsync 和 ssh 具有相同的路径,使用“where ssh”和“where rsync”来检查。

相关内容