我们有一个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 Key
和Private Key
选项,包含和不包含密码。
我发现的唯一一件事就是升级JSch
库,但我还没弄清楚如何升级这个库以及放置jar文件的位置。
有没有人有类似问题或知道如何升级库?
答案 0 :(得分:4)
显然解决方案非常简单。我只需要从http://www.jcraft.com/jsch/下载JSch库的最新版0.1.54
并将其放入C:\Program Files\TeamCity\webapps\ROOT\WEB-INF\lib
。重启TeamCity,一切正常。