Jenkins在Windows上出现Git[权限被拒绝(公钥)]问题
我知道有数千个话题触及到我的问题,但几天来我一直在与之斗争,几乎没有任何进展;( 我在Windows计算机上安装了Jenkins。Jenkins在Windows上出现Git[权限被拒绝(公钥)]问题,windows,git,jenkins,ssh,bitbucket,Windows,Git,Jenkins,Ssh,Bitbucket,我知道有数千个话题触及到我的问题,但几天来我一直在与之斗争,几乎没有任何进展;( 我在Windows计算机上安装了Jenkins。 然后获得Git插件和Git本身。 一切都是我写作当天的最新版本。 我很高兴开始和Jenkins一起玩,但我无法配置我的Bitbucket存储库供Job使用 我设置了git.exe的确切路径(这似乎是初始问题的原因)[C:\Program Files\git\cmd\git.exe] 然后我尝试使用帐户凭据通过HTTPS访问存储库,这里有许多奇怪的错误,所以我想让我们
然后获得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.
当我尝试手动复制存储库时,它会礼貌地询问我有关密码短语的问题,然后复制就完成了。当Jenkins作业执行此操作时,会发生上述情况。在作业脚本中%USERNAME%和%USERDOMAIN%的帮助下,我会得到与手动操作相同的值
很多小时后,我可以说我不能在詹金斯使用Git(
更新
我不相信它会这么简单。正如mainframer提到的,我将整个SSH身份验证的密码短语留空,它真的起了作用(即使Jenkins在job的配置页面中仍然显示相同的错误,存储库也被克隆了).我只想知道这样的设置会带来什么后果,但现在工作对我来说更有价值了
您的意思是在生成密钥时保留空密码短语,然后在Jenkins ssh凭据中也没有密码短语配置
是的,因为Jenkins无法将密码短语提供给ssh会话
但请确保Jenkins从属服务使用您的帐户(而不是系统帐户)运行。它需要您的帐户在
%USERPROFILE%\.ssh\id\u rsa(.pub)中查找ssh密钥
我认为您应该使用不带密码的SSH身份验证,因为jenkins以非交互模式与git通信。@mainframer您的意思是在生成密钥时保留空密码,然后在jenkins SSH凭据中也没有密码配置?实际上jenkins似乎使用了正确的帐户,但我仍然被迫输入kJenkins配置中的ey或至少是它的精确路径。可能job返回的用户不是Jenkins使用的实际用户?@DawidKomorowski您输入了私钥路径(id\u rsa
)还是公共密钥路径?它应该引用私钥。@DawidKomorowski关于作业,请查看您的Jenkins从属服务(或者,如果主设备和从设备相同),看看Jenkins本身是如何启动的。是的,我瞄准了私有节点,但我需要明确指定它。在%USERPROFILE%\.ssh\中找不到它,但它在那里。在配置方面,我只有一个节点是主节点,所以我假设从节点和主节点是相同的。或者我应该以不同的方式检查它吗?@DawidKomorowski不,只要java-war jenkins.war
是用您的帐户启动的,这很好。