我已部署了本地Jenkins服务器(Windows主机),并尝试连接到Amazon的AWS CodeCommit服务中的repo。 我已使用AWS Access Key和Secre Key在Jenkins中配置了AWS CodeDeploy凭证(通过AWS CodeDeploy插件)。
我创建了一个新的自由式项目,并在源代码管理下选择了Git并进行了配置: 存储库URL - 从AWS Code Commit控制台复制SSH URL 凭证 - 我创建了一个全局凭证并将其指向我的私钥,并输入了密码。
配置Repo URL时,会显示以下错误:
无法连接到存储库:命令“git.exe -c core.askpass = true ls-remote -h SSH:// [REMOVED] @ git-codecommit.us-east-1.amazonaws.com / V1 /回购/ [REMOVED] / HEAD“返回状态码128:stdout:stderr:权限被拒绝 (公钥)。致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限和存储库 存在。
似乎是一个简单的访问错误,但对于我的生活,我无法弄明白。如果我打开我的git bash并粘贴上面的命令,我会看到:
您已成功通过SSH验证。你可以使用Git 与AWS CodeCommit交互。连接到 git-codecommit.us-east-1.amazonaws.com由远程主机关闭。致命: 无法从远程存储库中读取。
请确保您拥有正确的访问权限和存储库 存在。
所以看来SSH连接正常。 我跑的时候:
ssh -vT [REMOVED]@git-codecommit.us-east-1.amazonaws.com
我得到以下输出:
您已成功通过SSH验证。你可以使用Git 与AWS CodeCommit交互。交互式shell不是 supported.debug1:channel 0:free:client-session,nchannels 1 与远程关闭的git-codecommit.us-east-1.amazonaws.com连接 主办。转移:发送4160,收到2368字节,0.2秒 每秒字节数:发送24893.3,收到14170.0 debug1:退出状态 -1
所以看来我真的可以访问Code Commit了。
我还验证了我的IAM用户可以通过附加CodeCommitFullAccess策略连接到CodeCommit。我还在运行Jenkins的Windows主机上使用git bash克隆了repo。
有没有人知道如何在不显示错误的情况下让Jenkins连接?
答案 0 :(得分:1)
您在问题中提到您正在使用SSH密钥的密码。看起来这是Jenkins的一个已知问题,目前尚未解决:https://www.npmjs.com/package/contextify。我看到了Unix平台的一些变通方法,但不适用于Windows。您可以考虑为Jenkins创建一个没有密码的SSH密钥来解决此问题。