Git &引用;“算法协商失败”;在TeamCity上使用SSH身份验证
我们有一个TeamCity 7.1.5,我们的Git存储库托管在TFS 2017上。我们希望切换到使用公钥/私钥的SSH身份验证。因此,我创建了一个openSSH密钥对,并在我的TFS用户上添加了公钥。在我的本地机器上,这工作正常 但当我想将TeamCity VCS根目录配置为同时使用SSH时,我总是会遇到以下异常:Git &引用;“算法协商失败”;在TeamCity上使用SSH身份验证,git,ssh,teamcity,teamcity-7.0,Git,Ssh,Teamcity,Teamcity 7.0,我们有一个TeamCity 7.1.5,我们的Git存储库托管在TFS 2017上。我们希望切换到使用公钥/私钥的SSH身份验证。因此,我创建了一个openSSH密钥对,并在我的TFS用户上添加了公钥。在我的本地机器上,这工作正常 但当我想将TeamCity VCS根目录配置为同时使用SSH时,我总是会遇到以下异常: Failed for the root 'VCS ROOT' #830: List remote refs failed: com.jcraft.jsch.JSchExcepti
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
我尝试了默认私钥
和私钥
两个选项,有密码和没有密码
我发现的唯一一件事是升级JSch
库,但我不知道如何升级这个库以及把jar文件放在哪里
是否有人有类似的问题或知道如何升级库?显然,解决方案非常简单。我只需要从下载JSch库的最新版本
0.1.54
,并将其放入C:\ProgramFiles\TeamCity\webapps\ROOT\WEB-INF\lib
。重新启动TeamCity,一切正常。SSH中的算法不仅仅是公钥。还有更多。您可以非常简单地从命令行ssh对它们进行研究,但我相信您也可以从jsch获得一些调试。首先,我会尝试更新客户端。