git - "Algorithm negotiation fail"在 TeamCity 上使用 SSH 身份验证

标签 git ssh teamcity teamcity-7.0

我们有一个 TeamCity 7.1.5,我们的 Git 存储库托管在 TFS 2017 上。我们想切换到使用公钥/私钥的 SSH 身份验证。所以我创建了一个 openSSH key 对并在我的 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 KeyPrivate Key 选项,有和没有密码。

我唯一找到的是升级 JSch 库,但我不知道如何升级这个库以及将 jar 文件放在哪里。

有没有人有类似的问题或者知道如何升级库?

最佳答案

显然,解决方案非常简单。我只需要从 http://www.jcraft.com/jsch/ 下载 JSch 库的最新版本 0.1.54并将其放入 C:\Program Files\TeamCity\webapps\ROOT\WEB-INF\lib。重新启动 TeamCity,一切正常。

关于git - "Algorithm negotiation fail"在 TeamCity 上使用 SSH 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44781559/

相关文章:

teamcity - 如何将来自多个项目的 TeamCity 代码覆盖率报告收集到一份报告中?

linux - 如何独立于我当前的计算机使用 SSH 远程运行程序

logging - 当某些后台进程仍在运行时,命令 'exit' 不起作用

teamcity - 仅当构建成功时才 checkin 更新程序集版本信息

ant - 使用 jacoco 时,teamcity 未捕获失败的 junit 测试

linux - 如何在通过中间服务器连接的本地服务器和远程服务器之间传输数据?

Git 错误 : Couldn't set refs/heads/master

Github 上显示我一直关闭的问题数量

git - git 中的 HEAD 是什么?

.net - 如何在 gitlab 中的 .net 解决方案构建管道中运行 git 命令