使用SSH设置Jenkins和Git

4

我正在尝试通过ssh将Jenkins与Git进行设置。

标准执行:

git clone ssh://[username]@[server]/srv/git/[repo]

在输入密码后,代码仓库已经克隆到我的硬盘上。

现在在Jenkins上进行操作。

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.

在Windows上安装Python

在Mac上安装Python

另一种方法是 使用Anaconda安装Python

4个回答

1

您正在使用SSH连接,这很可能意味着您已经设置了基于密钥的登录方式,这样您就可以在不需要密码的情况下进行连接。(将~/.ssh/id_rsa移动到其他位置,我非常确定当您执行git clone时会被要求输入密码)。

在这种情况下,错误是由于Jenkins没有类似的私钥设置所导致的。您需要为Jenkins生成公/私钥对,并将公钥添加到您的git服务器中,或者将私钥添加到Jenkins中。

相关问题和答案:https://dev59.com/ql_Va4cB1Zd3GeqPTGk4#8911280


1
在我们的环境中,使用了多个从属配置,问题出现在主服务器上。基本上,我们的从属服务器被配置为连接到git仓库,但不是主服务器,因为我们不在主服务器上执行任何作业。
上述错误是由于主服务器尝试连接到您的git仓库所致。因此,请确保您的主服务器已正确配置以访问您的git仓库,或者只需忽略此错误并在从属服务器上运行作业以查看其是否正常执行即可。

我们的设置出现了相同的问题。一个作业没有节点限制,当在没有有效密钥的服务器上执行时,它开始“随机”失败于检出阶段。 - user158037

1
当我使用“SSH用户名和私钥”凭据时,遇到了相同的错误报告。对于私钥,我选择了“来自Jenkins主服务器上的文件”,并提供了文件位置~/.ssh/some-project-specific-directory/id_rsa
结果发现,Jenkins版本1.637在波浪线家目录符号(“~”)方面存在问题。当我改为扩展绝对路径(例如/var/lib/jenkins/.ssh/some-project-specific-directory/id_rsa)时,一切都恢复正常了。

-2

在添加SSH密钥时,在“密码短语”部分添加密码,因为您拥有私钥但仍需要密码才能连接到存储库。

请参见下面的图片


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接