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

Windows版TeamCity 2021.2无法拉取Bitbucket Git仓库变更报IO流错误

可行解决步骤

  • 检查SSH密钥算法兼容性
    Bitbucket 2021年底已默认禁用ssh-rsa(SHA-1)算法的认证,你之前生成的如果是RSA类型密钥会直接被拦截。重新生成ed25519类型密钥:

    ssh-keygen -t ed25519 -C "teamcity-agent"
    

    把新生成的公钥重新上传到Bitbucket账号的SSH密钥列表,使用部署密钥的话则上传到对应仓库的部署密钥配置页。

  • 修正Windows服务身份的SSH密钥路径
    TeamCity代理以Windows服务运行时,默认使用本地系统账户,对应的SSH配置目录不是当前登录用户的C:\Users\<用户名>\.ssh,而是C:\Windows\System32\config\systemprofile\.ssh。你需要把私钥放到该目录下,或者修改代理服务的运行身份为有SSH密钥访问权限的普通用户。

  • 改用系统Git客户端替代内置JGit
    这是规避JGit兼容问题最直接的方案:

    1. 在代理服务器安装最新版Git for Windows,安装时勾选添加到系统PATH,确认服务运行身份执行git --version可正常返回结果
    2. 进入TeamCity管理后台,找到对应VCS根,将「Git客户端」选项从内置JGit修改为系统Git
    3. 保存后重新测试VCS连接即可
  • 排查网络连通性
    切换到代理服务的运行身份打开命令行,执行ssh -Tv git@bitbucket.org,查看连接过程的报错:

    • 如果提示密钥认证失败,对应修正密钥存储路径或权限
    • 如果提示连接超时,检查防火墙、出口代理配置,需要代理的话可以在C:\Windows\System32\config\systemprofile\.ssh\config中配置SSH代理规则,或者在Git系统配置中设置全局代理:
      git config --system http.proxy http://<代理地址>:<端口>
      
  • 升级TeamCity补丁版本
    你当前使用的2021.2初始版本(build 99542)存在多个已知的JGit SSH兼容bug,升级到该大版本的最终补丁2021.2.4即可修复相关问题。


内容的提问来源于stack exchange,提问作者To Ka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:09:01