系统配置: TeamCity Master:Windows Server 2012 R2 标准 TeamCity 代理:Windows Server 2022 数据中心 基础设施位于 AWS 中,具有正确的安全组和所需的开放端口(9090、22、443 等)
我不断收到此错误。我已经检查了 ssh-agent 是否在路径中。密钥添加到 Teamcity master(私有)和 GitHub(公钥,克隆成功)。 Windows 防火墙也对端口例外开放。
TeamCity 似乎与 Windows OpenSSH 变体不兼容。我建议你卸载它(通过 powershell 或 Windows 功能)并安装适用于 Windows 的 git,而不是与所有 ssh 工具捆绑在一起。
最明显的解决方案是让 TeamCity 使用
ssh-agent
,它随 Git for Windows 一起提供。 TeamCity 声称 也与 CygWin 和 MinGW 的 ssh 代理实现兼容。
首先,在 TeamCity 代理上将 Git 的
ssh-agent.exe
路径添加到 PATH
环境变量中,并确保在 before Windows 版本之前找到它。
它应该看起来像:PATH=C:\Program Files\Git\usr\bin;...
您需要重新启动代理才能生效。
其次,可能还需要确保 Git 使用相同的 OpenSSH 实现。为此,请设置
GIT_SSH
环境变量。它应该看起来像:C:\Program Files\Git\usr\bin\ssh.exe
(请参阅Git 文档)