You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows终端使用Rsync向Ubuntu VPS传输文件遇code 12错误(SSH密钥认证正常但Rsync异常)

Windows终端使用Rsync向Ubuntu VPS传输文件遇code 12错误(SSH密钥认证正常但Rsync异常)

最近我在Windows上用Rsync往Ubuntu VPS传文件时踩了不少SSH相关的坑,折腾一番后梳理出了问题的来龙去脉,这里分享给大家:

遇到的问题

虽然Rsync有Windows版本,但和SSH搭配时问题多多:

  1. 直接用Rsync传文件时,会莫名抛出error in rsync protocol data stream (code 12)的错误,完全传不了;
  2. 后来尝试指定-e /bin/ssh参数,终于能传文件了,但这个方法只在VPS开启密码认证时有效——可实际生产环境里,VPS基本都会禁用密码认证、只用SSH密钥,这显然不符合安全要求;
  3. 最后卡在了:如何让Windows下的Rsync自动使用SSH密钥认证,不用手动指定密钥路径(毕竟要做自动化,手动指定路径太麻烦)。

准备工作

先做了基础配置:

  • 把生成的SSH密钥信息加到了~/.ssh/config里,内容如下:
Host 160.XXX.XXX.97(deployer)
HostName 160.XXX.XXX.97
User deployer
IdentityFile ~/.ssh/JXXXXXX-HomePage
  • 为了不用每次输入密钥的密码,设置了ssh-agent自动启动:
    sss config ssh-agent start=auto

排查实验流程

我一步步验证,缩小问题范围:

步骤1:PowerShell中测试SSH认证

借助ssh-agent,不用反复输密码,直接执行:
ssh deployer@160.XXX.XXX.97
连接完全正常,说明密钥和ssh-agent的配置没问题。

步骤2:WSL中测试SSH认证

同样执行上面的命令,连接依然正常,进一步确认VPS端的SSH配置没有问题。

步骤3:WSL中用Rsync传文件

执行这条命令:
rsync -azve ssh 04-ProductionBuild deployer@160.XXX.XX.97:/var/www/example.jp
文件成功传输完成,这说明问题不在VPS端,而是Windows原生Rsync的适配问题。

步骤4:Windows终端中用Rsync传文件

执行命令:
rsync -azvr -e /bin/ssh --progress ./04-ProductionBuild/ deployer@160.XXX.XX.97:/var/www/example.jp
结果弹出了主机认证提示:

The authenticity of host '160.XXX.XX.97 (160.XXX.XX.97)' can't be established.
ED25519 key fingerprint is SHA256:NFthXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXTG/Y.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

明明之前已经把这个VPS加到known_hosts里了,而且单独用SSH连接完全正常。但输入yes后,又出现了报错:

Failed to add the host to the list of known hosts (/known_hosts).
Connection closed by 160.XXX.XX.97 port 22
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(231) [sender=3.2.7]

初步结论

目前看下来,Windows原生Rsync在读取SSH配置(包括known_hosts和密钥路径)时存在路径识别的问题,而WSL环境下的Rsync能正常调用系统的SSH配置,所以暂时可以用WSL里的Rsync作为替代方案。如果要彻底解决Windows原生Rsync的问题,可能需要检查它的SSH路径配置,确保它能正确读取~/.ssh目录下的config和known_hosts文件。

备注:内容来源于stack exchange,提问作者Tokugawa Takeshi YD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:29:51