设置jenkins git返回"主机密钥验证失败"错误

时间:2017-01-21 13:52:01

标签: windows git jenkins

我想用git将我的一个jenkins项目放到源代码管理中。

但是,当我在项目配置页面的源代码管理选项卡下的存储库URL 中键入git@gitlab.com:myGitlabAccount/myProjectName.git时。我看到以下错误消息:

Failed to connect to repository : Command "git.exe ls-remote -h git@gitlab.com:myGitlabAccount/myProjectName.git" returned status code 128:
stdout: 
stderr: Host key verification failed. 
fatal: Could not read from remote repository.

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

在Windows命令行下输入git.exe ls-remote -h git@gitlab.com:myGitlabAccount/myProjectName.git时,没有错误消息。

我可以git clone git@gitlab.com:myGitlabAccount/myProjectName.git成功。

如果我是linux jenkins用户,我认为Jenkins Host key verification failed是我问题的解决方案。

但我在Windows环境下使用jenkins,而且我在Windows中找不到任何名为 jenkins 的用户。

如何切换到 jenkins 用户并在Windows环境中手动输入git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD

4 个答案:

答案 0 :(得分:5)

enter image description here

因为我安装了jenkins作为Windows服务,所以我必须去jenkins服务页面,并将其登录帐户更改为我用来登录窗口的帐户。

通过这种方式,jenkins可以访问我在Windows环境中使用的known_hosts文件。

答案 1 :(得分:5)

如果您将Jenkins默认安装为Windows服务,则可以复制名为" known_hosts"的文件。在目录

C:\ Windows \ System32 \ Config \ SystemProfile \ .ssh

然后Jenkins会读取它并允许它访问您的Git服务器。

答案 2 :(得分:3)

您需要在jenkins机器上生成ssh密钥并将它们添加到您的gitlab帐户

如果您正在使用Windows打开git bash并输入以下内容:

# generate keys
ssh-keygen -t rsa

在每个步骤中单击 ENTER ,如果您已有密钥,则会收到警告证明已存在证书。

现在复制公钥并将其粘贴到您的gitlab帐户

# grab the key
cat ~/.ssh/id_rsa.pub

登录您的gitlab帐户并添加此密钥(登录后您将在顶部菜单上看到ssh-keys)

enter image description here

答案 3 :(得分:2)

对我有用的一个替代方法是在"克隆或下载选项卡"下使用HTTPS而不是SSH链接。 使用SSH我仍然看到问题,我必须分析更多,但暂时直接使用HTTPS。