我试图通过ssh用Git设置jekins。
标准执行:
git clone ssh://[username]@[server]/srv/git/[repo]
放入密码后将克隆存储在我的磁盘上。
现在在詹金斯
ssh://[username]@[server]/srv/git/[repo].git
Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h ssh://[username]@[server]/srv/git/[repo].git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
或其他方式
答案 0 :(得分:1)
您通过SSH进行连接,这可能意味着您已经设置了基于密钥的登录,这样您就可以在没有密码的情况下进行连接。 (将〜/ .ssh / id_rsa移动到其他位置,我也非常确定您在进行git克隆时也会被要求输入密码。)
在这种情况下,错误是Jenkins没有类似私钥设置的结果。您必须为jenkins生成公钥/私钥对,并将公钥添加到您的git服务器,或将您的私钥添加到Jenkins。
相关问题&回答:https://stackoverflow.com/a/8911280/223981
答案 1 :(得分:1)
当我使用“具有私钥的SSH用户名”类型的凭据时,我收到了相同的错误报告。对于私钥,我选择了“从Jenkins master上的文件”并作为文件位置~/.ssh/some-project-specific-directory/id_rsa
提供。
事实证明,Jenkins版本1.637存在波形符号主页符号(“~
”)的问题。在我改变到扩展的绝对路径(例如/var/lib/jenkins/.ssh/some-project-specific-directory/id_rsa
)后,一切都运行良好。
答案 2 :(得分:1)
在我们的环境中,使用多从属配置时,问题出在主服务器上。基本上我们的从站被配置为连接到git repo,但不是master,因为我们不在master上执行任何作业。
上述错误是由于master尝试连接到您的git repo。因此,要么确保您的主服务器配置正确以访问您的git repo,要么只是忽略此错误并运行您的作业以查看它是否在从服务器上执行正常。
答案 3 :(得分:-2)
只需在密码'中添加密码即可。添加ssh密钥时的部分,因为您有私钥但仍需要密码才能连接到repo。