【发布时间】:2025-12-07 09:10:02
【问题描述】:
我们有一个 TeamCity 7.1.5,我们的 Git 存储库托管在 TFS 2017 上。我们想切换到使用公钥/私钥的 SSH 身份验证。所以我创建了一个 openSSH 密钥对并在我的 TFS 用户上添加了公钥。在我的本地机器上,这按预期工作。
但是当我想将我的 TeamCity VCS Root 配置为也使用 SSH 时,我总是遇到以下异常:
Failed for the root 'VCS ROOT' #830: List remote refs failed:
com.jcraft.jsch.JSchException: Algorithm negotiation fail
私钥在 TeamCity 服务器上可用,config 应该是正确的:
Host tfs.company.com
IdentityFile ~/.ssh/tfs.company.com_rsa_sha1
我已经尝试了 Default Private Key 和 Private Key 选项,有和没有密码。
我发现唯一的事情就是升级JSch库,但我不知道如何升级这个库以及将jar文件放在哪里。
有没有人有类似的问题或知道如何升级库?
【问题讨论】:
-
SSH 中的算法不仅仅是公钥。还有更多。您可以非常简单地从命令行 ssh 对它们进行投资,但我相信您也可以从 jsch 获得一些调试。首先,我会尝试更新客户端。
标签: git ssh teamcity teamcity-7.0