"算法协商失败"在TeamCity上使用SSH身份验证

时间:2017-06-27 13:28:34

标签: git ssh teamcity teamcity-7.0

我们有一个TeamCity 7.1.5,我们的Git存储库托管在2017年的TFS上。我们希望使用公钥/私钥切换到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 KeyPrivate Key选项,包含和不包含密码。

我发现的唯一一件事就是升级JSch库,但我还没弄清楚如何升级这个库以及放置jar文件的位置。

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

1 个答案:

答案 0 :(得分:4)

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