Git |詹金斯|权限被拒绝(公钥)

时间:2019-01-22 04:49:12

标签: git jenkins ssh jenkins-github-plugin

我们有一个通用的LDAP帐户/用户。我们计划使用该用户为我们的团队配置Jenkins。

  1. 我使用登录名登录到计算机/ VM,并安装了Jenkins。
  2. 然后,我仅从我的帐户生成了ssh密钥,但是在生成ssh密钥时提供的电子邮件ID是普通用户。
  3. 然后,我将公共ssh密钥添加到GitHub(在Github中,我使用普通用户登录)。
  4. 将私钥添加到Jenkins SSH凭据插件。
  5. 创建了一个可以轮询SCM的工作,并且工作正常。
  6. 我需要执行一些git命令(即pull,checkout,tag等...)。因此,我正在编写蚂蚁脚本来实现这一目标。
  7. 当我通过詹金斯执行GIT ant目标[1]时,出现以下错误:
  

获取:   [回声] ----------------------------------------------- ----------

     

[echo]从git@github.XYZ.com:XYZ / ABC主站获取最新消息

     

[回声] -------------------------------------------- -------------

     

[exec] git@github.XYZ.com:权限被拒绝(公钥)。

     

[exec]致命:无法从远程存储库读取。

     

[exec]

     

[exec]请确保您具有正确的访问权限

     

[exec]和存储库存在。


我是否必须使用普通帐户/用户登录到VM并生成ssh密钥,然后使用这些密钥?如果是,那么Point#5正常运行吗?如果没有,那我在做什么错了?

[1]-Specify git commands in Jenkins Git plugin

1 个答案:

答案 0 :(得分:0)

Jenkins将使用与作业关联的私钥来读取远程存储库。

但是:作业本身执行的脚本将使用运行Jenkins本身的用户中的默认SSH密钥:〜user / .ssh / id_rsa

请确保默认私钥是该工作所需的私钥(或者可以通过~/.ssh/config设置私钥):关键是,该私钥不再与Jenkins SSH Credential插件相关。