我想用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
?
答案 0 :(得分:5)
因为我安装了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)
答案 3 :(得分:2)
对我有用的一个替代方法是在"克隆或下载选项卡"下使用HTTPS而不是SSH链接。 使用SSH我仍然看到问题,我必须分析更多,但暂时直接使用HTTPS。