5

我想将 Jenkins 与 Bitbucket 上的存储库一起使用。为此,我使用 userjenkins和 command创建了一个 ssh 密钥ssh-keygen -t rsa -C "my_email"。我在 Bitbucket 上添加了公钥,我可以使用git clone ....

但是当我在 Jenkins 中配置项目时,我把 urlgit@bitbucket.org:my_username/my_repository.git

这是错误:

Failed to connect to repository : Command "git ls-remote -h git@bitbucket.org:skurty/ma-carte-augmentee-bo.git HEAD" returned status code 128:

stdout: 

stderr: ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory 
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

如果我执行 ssh git@bitbucket.org,我会得到:

PTY allocation request failed on channel 0
conq: logged in as my_username.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
Connection to bitbucket.org closed.

我还尝试创建文件~/.ssh/authorized_keys并将公钥放入其中,但同样的问题。

我还用sudo /etc/init.d/jenkins restart

谢谢您的帮助 :)

PS:我在 Debian Squeeze 64 位

4

4 回答 4

3

问题来自您从未在 GIT 上使用用户 JENKINS 登录的事实

因此,您应该执行以下操作:

登录 JENKINS 机器:

sudo su jenkins
ssh git@bitbucket.org

验证访问。

现在您应该可以使用 git 执行 jenkins 构建了

于 2014-05-30T22:21:37.707 回答
3

我发现让它工作的唯一方法是从我的 ssh 密钥中删除密码。我猜 jenkins 的 git 插件无法提供密码,即使我在 Credentials 插件的高级部分设置它也是如此。

$ ssh-keygen -p

提供您的私钥的位置,输入您当前的密码,然后将新密码留空。

于 2014-05-30T20:54:18.710 回答
1

在用户的主目录id_rsa中,您的私钥是否被调用?jenkins

如果您使用本机软件包安装,则该文件应位于,/var/lib/jenkins/.ssh并且权限/var/lib/jenkins/.ssh应为700,而权限/var/lib/jenkins/.ssh/id_rsa应为600

于 2013-03-16T17:51:04.323 回答
0

您可能还需要在您的 BitBucket 帐户中添加您的 SSH 密钥,以及在 Manage_Account>>SSH_Keys>>添加密钥

但是,如果您仍然遇到任何问题:请尝试以下分步教程:

http://777chmod.wordpress.com/2013/07/28/jenkins/

http://777chmod.wordpress.com/2013/08/01/ssh/

于 2013-09-10T18:58:12.587 回答