繁体   English   中英

Windows 上的 Git [权限被拒绝(公钥)] 的 Jenkins 问题

[英]Jenkins issue with Git [Permission denied (publickey).] on Windows

我知道数以千计的主题会触及我的问题,但我在几天内一直在与这个问题作斗争,进展几乎为零;(。

我在 Windows 机器上安装了 Jenkins。
然后获得了 Git 插件和 Git 本身。
一切都是我写作当天的最新版本。
我很高兴开始与 Jenkins 一起玩,但我未能配置我的 Bitbucket 存储库以供 Job 使用。

我设置了 git.exe 的确切路径(因为它似乎是初始问题的原因)[C:\\Program Files\\Git\\cmd\\git.exe]。

然后我尝试使用帐户凭据通过 HTTPS 访问存储库,这里有很多奇怪的错误,所以我想让我们尝试使用 SSH。

我已经生成了 rsa 密钥,在 Bitbucket 存储库中设置了公钥。 然后我在 Jenkins 中创建了凭证配置以使用密码进行 SSH 身份验证。
我在这里有很多问题,因此为了临时解决方法,我明确设置了私钥的值。
最后我到达了我现在所在的地方:

+refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

当我尝试手动复制存储库时,它礼貌地询问我密码短语并完成复制。 当詹金斯的工作做到这一点时,就会发生上述情况。 在作业脚本中的 %USERNAME% 和 %USERDOMAIN% 的帮助下,我获得了与手动执行时相同的值。

很多小时后,我可以说我不能在 Jenkins 中使用 Git ;(

更新

我不相信事情会这么简单。 正如大型机提到的,我将整个 SSH 身份验证的密码留空,它确实有效(即使 Jenkins 在作业的配置页面中仍然显示相同的错误,存储库也被克隆)。 我只是想知道这种设置的任何后果,但现在工作对我来说更有价值。

您的意思是在生成密钥时留下空密码,然后在 Jenkins ssh 凭证中也没有密码配置?

是的,因为 Jenkins 无法将密码提供给 ssh 会话。

但请确保 Jenkins slave 服务使用您的帐户(而不是系统帐户)运行。 它需要您的帐户才能在%USERPROFILE%\\.ssh\\id_rsa(.pub)找到 ssh 密钥

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM