Jenkins和Github未使用SSH密钥

5

我已经在Jenkins中为一个特定任务设置了从Github私有仓库拉取代码。但看起来Jenkins没有使用SSH密钥,尽管我已经生成了私钥/公钥并将其作为部署密钥添加到了Github上。

当我从Jenkins用户进行git克隆时,系统提示我输入用户名和密码。为什么它不使用我的“~/.ssh/id_rsa.pub”密钥呢?

谢谢


1
我曾经遇到过这样的问题,当时错误地假设了Jenkins的主目录是/home/jenkins,而没有检查它实际上是什么(/var/lib/jenkins),但这确实很大程度上取决于您如何安装它以及如何配置它。此外,请仔细检查您的权限。 - Andrew Walker
2个回答

3

我刚遇到了同样的问题,以下是您可以做的:

1)以jenkins用户身份登录

sudo su jenkins

2) 为 Jenkins 用户生成密钥:

ssh-keygen -t rsa

3) 在GitHub仓库的管理部分将id_rsa.pub作为部署密钥输入

或者更好的方法是:

  • 为Jenkins创建一个GitHub用户
  • 在用户个人资料中添加ssh密钥
  • 将Jenkins GitHub用户添加为您的项目协作者

希望这可以帮助您, Vincent


如果您不想添加另一个用户,您可以进入您的主帐户设置并以这种方式添加密钥。 - Omertron
此外,您可能需要在Jenkins服务器上获取known_hosts。为此,请启用Jenkins帐户(/etc/passwd)并使用git clone接受github/bitbucket公钥。 - Cmag

3
您正在使用哪个URL呢?听起来您正在使用https而不是ssh。在您的项目GitHub页面的顶部,有三个URL的按钮,即HTTP、SSH和只读Git。您需要选择SSH。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接