jenkins组权限,设置Jenkins时权限被拒绝(publickey)

I am setting up Jenkins on a Win 2008 server machine and am having some trouble configuring Jenkins to connect to GitHub. I get the following error:

Command "git.exe fetch -t git@github.com:USER/REPO.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: Permission denied (publickey).

fatal: The remote end hung up unexpectedly

ERROR: Could not fetch from any repository

FATAL: Could not fetch from any repository

hudson.plugins.git.GitException: Could not fetch from any repository

at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:950)

at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:908)

at hudson.FilePath.act(FilePath.java:758)

at hudson.FilePath.act(FilePath.java:740)

at hudson.plugins.git.GitSCM.checkout(GitSCM.java:908)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1184)

at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:537)

at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:425)

at hudson.model.Run.run(Run.java:1376)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)

at hudson.model.ResourceController.execute(ResourceController.java:88)

at hudson.model.Executor.run(Executor.java:175)

Things I Have Checked

The Jenkins service is running under my username.

I changed my SSH key so it no longer has a password.

I have verified my SSH key is valid by executing the same command as Jenkins using msysgit.

Verified all my paths are correct.

Jenkins Configuration Settings

Jenkins 1.418

GitHub plugin 0.5

Git plugin 1.1.9

msysgit Works but CMD Prompt Does Not

When I navigate to a valid repo and execute the command from the DOS prompt, it also fails.

Do you have any idea what I may be missing?

Thanks for your help.

解决方案

As I commented, specifying the HOME environment variable is key, when using ssh protocol.

Since Windows doesn't have a HOME, you need to define it explicitly, to whatever directory you want.

However, Vestnik comments:

I've specified to override HOME on the windows slave node to point it to C:\jenkins.

I've put correct id_rsa under the C:\jenkins\.ssh but still have this issue.

My slave agent running as service under SYSTEM account.

Two advices:

you need to make your slave display 'set' in order to check if HOME is defined when used with the SYSTEM account.

If it is not, that may mean you need to add that variable to the "system environment variables", not the "user environment variables".

72819670f682f1dba6b02fe78caea044.png

Don't forget to have both id_rsa and id_rsa.pub in the %HOME%\.ssh directory: you need both public and private ssh keys. (as mentioned in "git clone with ssh issue")

If you have a parametrized build, you also can define HOME that way and check if your slave picks up the right value for HOME:

162c8cf0f8c807a9a3aac2895f72a34b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值