我想将Jenkins与Bitbucket上的存储库一起使用。为此,我使用用户jenkins
和命令ssh-keygen -t rsa -C "my_email"
创建了一个ssh密钥。我在Bitbucket上添加了公钥,我可以使用git clone ...
克隆一个项目。
但是当我在Jenkins中配置项目时,我把网址git@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位
答案 0 :(得分:3)
我发现使其工作的唯一方法是从我的ssh键中删除密码。我猜jenkins'即使我在Credentials插件的高级部分设置了密码,git插件也无法提供密码。
$ ssh-keygen -p
提供私钥的位置,输入您当前的密码并将新密码留空。
答案 1 :(得分:3)
问题来自于您从未使用GIT上的用户JENKINS登录
因此,您应该执行以下操作:
登录JENKINS机器:
sudo su jenkins
ssh git@bitbucket.org
验证访问权限。
现在你应该可以用git
执行jenkins构建了答案 2 :(得分:1)
在id_rsa
用户的主目录中,jenkins
或您的私钥是否被调用?
如果使用本机程序包安装,则该文件应位于/var/lib/jenkins/.ssh
中,/var/lib/jenkins/.ssh
的权限应为700
,而/var/lib/jenkins/.ssh/id_rsa
的权限应为600
{1}}
答案 3 :(得分:0)
您可能需要在BitBucket帐户中添加SSH密钥以及Manage_Account>> SSH_Keys>>添加密钥
但是,如果您仍然遇到任何问题:请尝试以下步骤教程: