windows - Jenkins 问题与 Git [Permission denied (publickey).] on Windows

标签 windows git jenkins ssh bitbucket

我知道有数以千计的主题触及我的问题,但我几天来一直在努力解决这个问题,进展几乎为零;(。

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

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

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

我已经生成了 rsa key ,在 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.

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

经过大量的时间我可以说我不能在 Jenkins 中使用 Git ;(

更新

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

最佳答案

You mean leaving empty passphrase while generating keys and then also no passphrase config in Jenkins ssh credentials?

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

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

中找到 ssh key

关于windows - Jenkins 问题与 Git [Permission denied (publickey).] on Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35828505/

相关文章:

windows - 可执行文件中的 RTTI 元数据存储在哪里?

ruby-on-rails - 在 Rake 任务 db :schema:load 中抑制输出

java - Jenkins :建立对其他工件/项目的依赖的工作

jenkins - 如何在多行 shell 中读取 Jenkins 管道变量?

linux - 查看远程 Linux 服务器上的 git 存储库 -> 在 Windows 中?

c - 在 Windows XP 中手动更新 shell32.dll 是否安全/实用?

git - git "updating currently checked out branch"警告是什么意思?

xcode,提交到github存储库时出错

git - 从 git 提交生成 PDF 日志

jenkins - buildingTag() 总是返回 false