问题描述
这是一个旧版本的 TeamCity,为了历史目的,我们必须继续运行。不过我遇到了一些问题:Github 已弃用基本用户名/密码身份验证,因此我想将其切换为使用上传的密钥。我上传了我的 ssh 密钥,并将获取 URL 切换为使用 ssh:
git@github.com:OrgName/RepoName.git
然后我将身份验证方法切换为上传密钥,删除用户名,然后选择密钥。我已经仔细检查了密钥,它确实有效。但是,我什至似乎无法连接到 github 以达到此目的。单击“测试连接”会旋转一段时间,然后超时:
Test connection Failed in RepoName :: Release Build - Windows/NET
List remote refs Failed: com.jcraft.jsch.JSchException: Session.connect: java.net.socketTimeoutException: Read timed out
这里可能有什么问题?我不知道旧版 TeamCity 有什么问题?
解决方法
As documented,请务必选择:
- 私钥(不是以
.pub
结尾的) -
PEM format (
ssh-keygen -t rsa -m PEM -P "" -f myKey
)(或 convert your existing key)中的一个键,而不是 ppk 或 old OpenSSH one。