2013-03-16 72 views
5

我想使用Jenkins和Bitbucket上的存储库。为此,我使用用户jenkins和命令ssh-keygen -t rsa -C "my_email"创建了一个ssh密钥。我在Bitbucket上添加了公钥,我可以用git clone ...克隆一个项目。Jenkins和Git身份验证

但是,当我配置詹金斯项目,我把网址[email protected]:my_username/my_repository.git

以下是错误:

Failed to connect to repository : Command "git ls-remote -h [email protected]: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 [email protected],我得到:

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挤压64位

回答

0

是对id_rsa或任何你的私钥被称为,在jenkins用户的主目录?

如果你有一个本地程序包安装,文件应位于/var/lib/jenkins/.ssh/var/lib/jenkins/.ssh的权限应该是700/var/lib/jenkins/.ssh/id_rsa的权限应该是600

+0

是的,我在/ home/jenkins /中创建了用户jenkins的密钥。ssh和id_rsa位于/var/lib/jenkins/.ssh(使用authorized_hosts ...)。文件夹和文件的权利都可以。 – skurty 2013-03-16 19:59:44

0

您可能需要增加您的到位桶的SSH密钥帐户以及在Manage_Account >> SSH_Keys >>添加项

然而,如果你仍然面临的任何问题:尝试在教程一步一步:

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

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

+0

感谢您发布您的答案!请注意,您应该在此处发布答案的重要部分,在此网站上,或者您的帖子风险被删除[请参阅常见问题,其中提到的答案几乎不超过链接。](http:// stackoverflow。 com/faq#deletion)如果您愿意,您可能仍然包含该链接,但仅作为“参考”。答案应该独立,不需要链接。 – Taryn 2013-09-11 00:43:28

3

我发现,使其工作是从我的SSH密钥移除密码的唯一途径。我猜jenkins的git插件无法提供密码,即使我在Credentials插件的高级部分中设置它。

$ ssh-keygen -p

提供您的私有密钥的位置,请键入密码的电流,并留下新一空。

+0

你说得对,我已经看到Jenkins没有设法在密钥上使用密码 – aorfevre 2014-05-30 22:49:20

3

的问题来自于事实,你从来没有在GIT与用户JENKINS登录

因此,你应该做到以下几点:

日志中JENKINS机:

sudo su jenkins 
ssh [email protected] 

验证访问。

现在你应该可以执行jenkins使用git编译