尝试使用jenkins克隆git存储库时出现错误128
我可以在托管Jenkins应用程序的Linux服务器上克隆我的git存储库,但是当我试图创建一个新的Jenkins作业来执行此操作时,我得到了错误128 无法连接到存储库:命令“git ls remote-h”ssh://git@bitbucket.org/user/proj.git HEAD“返回状态代码128: 标准: stderr:权限被拒绝(公钥)。 致命:无法从远程存储库读取 请确保您拥有正确的访问权限 并且存储库存在。” 我做的事尝试使用jenkins克隆git存储库时出现错误128,git,jenkins,bitbucket,permission-denied,public-key,Git,Jenkins,Bitbucket,Permission Denied,Public Key,我可以在托管Jenkins应用程序的Linux服务器上克隆我的git存储库,但是当我试图创建一个新的Jenkins作业来执行此操作时,我得到了错误128 无法连接到存储库:命令“git ls remote-h”ssh://git@bitbucket.org/user/proj.git HEAD“返回状态代码128: 标准: stderr:权限被拒绝(公钥)。 致命:无法从远程存储库读取 请确保您拥有正确的访问权限 并且存储库存在。” 我做的事 在Linux服务器上安装git 在Jenkins应用
bash-4.2$
bash-4.2$whoami
詹金斯
bash-4.2$ssh-Tgit@bitbucket.org
通过部署密钥进行身份验证。
您可以使用git或hg连接到Bitbucket。Shell访问被禁用。
此部署密钥具有对以下存储库的读取权限:
用户/项目:测试3--jenkins@git
.
git-c core.askpass=true ls remote-hssh://git@bitbucket.org/user/proj.git
[ec2-user@ip-172-31-31-13~]$git-c core.askpass=true ls-remote-hssh://git@bitbucket.org/user/proj.git
DB710FBF01F008789CF5C15E6626013F8E1543D4参考/头/主
图像:
在Jenkins中配置git存储库时,我会尝试将它的URL写为
git@[…]
,而不是ssh://git@[…]
另一方面,您作为test3
(ssh-rsa-AAA[…]
)的私钥引入的密钥似乎不是私钥。它看起来像是公钥。私钥是一个以----BEGIN RSA private key-----
开头,以----END RSA private key-----
结尾的块。在您的情况下,我认为它存储在名为jenkins\u bitbucket\u access
的文件中(公钥存储在jenkins\u bitbucket\u access.pub
中)问题解决了!
当我在Jenkins Web上创建SSH凭据时,我使用了公钥而不是私钥。。。现在一切正常:)如果没有ssh,它根本无法工作,无法连接到存储库:命令“git ls remote-hgit@bitbucket.org/user/proj.git HEAD“返回的状态代码128:stdout:stderr:fatal:”git@bitbucket.org/user/proj.git'似乎不是git存储库致命:无法从远程存储库读取。请确保您拥有正确的访问权限,并且存储库已存在。我按照您的建议更新了jenkins的授权密钥文件,并重新启动了jenkins服务,但它仍然无法工作。。。。仍然是相同的错误我没有建议更改
authorized_key
文件,而是更改Jenkins上的test3
凭据配置。顺便说一下,当您在命令行中执行ssh
而不指定特定的私钥时,默认情况下使用的是id\u rsa
。既然这样做有效,我会在不指定任何凭据的情况下尝试Jenkins,因此也应该使用默认密钥对,不是吗?如果没有ssh://
,URL格式会有一些变化-它需要git@bitbucket.org:owner/repo.git
,用冒号代替第一个斜杠。