gpt4 book ai didi

windows - 设置 Jenkins 时权限被拒绝(公钥)

转载 作者:IT王子 更新时间:2023-10-29 00:46:23 31 4
gpt4 key购买 nike

我在 Win 2008 服务器计算机上设置 Jenkins,但在配置 Jenkins 以连接到 GitHub 时遇到了一些问题。我收到以下错误:

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)

我检查过的东西

  • Jenkins 服务在我的用户名下运行。
  • 我更改了 SSH key ,因此它不再有密码。
  • 我已通过使用 msysgit 执行与 Jenkins 相同的命令来验证我的 SSH key 有效。
  • 验证我所有的路径都是正确的。

Jenkins 配置设置

  • Jenkins 1.418
  • GitHub 插件 0.5
  • Git 插件 1.1.9

msysgit 工作但 CMD 提示不工作当我导航到有效的存储库并从 DOS 提示符执行命令时,它也失败了。

你知道我可能遗漏了什么吗?

感谢您的帮助。

最佳答案

正如我所说,在使用 ssh 协议(protocol)时,指定 HOME 环境变量是关键。
由于 Windows 没有 HOME,因此您需要将其显式定义到您想要的任何目录。

然而,Vestnik评论:

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.

两个建议:

  • 您需要让您的从设备显示“set”,以便检查在使用 SYSTEM 帐户时是否定义了 HOME。
    如果不是,则可能意味着您需要将该变量添加到“系统环境变量”,而不是“用户环境变量”。

display env from the job definition

  • 不要忘记在 %HOME%\.ssh 目录中同时拥有 id_rsaid_rsa.pub:你需要两个 public和私钥。 (如“git clone with ssh issue”中所述)

如果你有一个参数化的构建,你也 can define HOME that way并检查你的奴隶是否为 HOME 选择了正确的值:

define custom variables

关于windows - 设置 Jenkins 时权限被拒绝(公钥),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515039/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com