我在Bitbucket上有一个GIT代码库,我希望我的Jenkins服务器可以自动访问它。这只能通过公钥/私钥认证来实现。所以我创建了一对密钥,并将公钥上传到了Bitbucket。公钥和私钥都在运行Jenkins的Tomcat用户的.ssh文件夹中。当我以该用户登录服务器时,我能够克隆我的项目。
然而,我无法让Jenkins从Bitbucket中实际检出代码。它总是显示:
我认为这是因为通过ssh访问仓库时,需要提供我的私钥密码,而jenkins无法自动完成此操作。我阅读到可以在.ssh文件夹中提供一个配置文件来避免被要求输入密码,其内容如下:
我这样做了,但是一旦我提供了那个文件,我就无法从bitbucket克隆存储库。甚至直接从服务器获取,也会得到与上面显示的相同的错误消息。
有人成功地使这个设置工作了吗?我还阅读了stackoverflow上的以下主题,对我没有用:如何为hudson / jenkins设置私有ssh密钥以访问bitbucket? 我检查了tomcat是否真的在用户tomcat6下运行,通过创建一个简单运行"whoami"的空测试项目来验证。所以我几乎没有任何修复问题的想法。
然而,我无法让Jenkins从Bitbucket中实际检出代码。它总是显示:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我认为这是因为通过ssh访问仓库时,需要提供我的私钥密码,而jenkins无法自动完成此操作。我阅读到可以在.ssh文件夹中提供一个配置文件来避免被要求输入密码,其内容如下:
Host bitbucket.org
IdentityFile ~/.ssh/id_dsa
我这样做了,但是一旦我提供了那个文件,我就无法从bitbucket克隆存储库。甚至直接从服务器获取,也会得到与上面显示的相同的错误消息。
有人成功地使这个设置工作了吗?我还阅读了stackoverflow上的以下主题,对我没有用:如何为hudson / jenkins设置私有ssh密钥以访问bitbucket? 我检查了tomcat是否真的在用户tomcat6下运行,通过创建一个简单运行"whoami"的空测试项目来验证。所以我几乎没有任何修复问题的想法。