在Jenkins for Git中管理SSH密钥
我正在尝试使用GitHub托管存储库(使用Jenkins
Git插件)启动Jenkins并使其运行。该存储库具有多个git子模块,因此我不确定我是否想尝试和管理多个部署密钥。
我的个人GitHub用户帐户是我希望与Jenkins进行的每个项目的合作者,因此我在其中生成了一个SSH密钥/var/lib/jenkins/.ssh
并将其添加到我的个人GitHub帐户中。
但是,当我尝试将存储库URL添加到我的Jenkins项目配置中时,我得到:
Failed to connect to repository : Command "git ls-remote -h git@github.com:***/***.git HEAD" returned status code 128:stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
同样,当我计划构建时,我得到:
stderr: Host key verification failed.fatal: The remote end hung up unexpectedly
我也尝试过按此处概述的步骤设置SSH配置文件,但无济于事。
谁能阐明任何想法?谢谢
我应该补充一点,我正在运行CentOS 5.8
回答:
看起来github.com
jenkins尝试连接的主机未在jenkins用户的之下列出$HOME/.ssh/known_hosts
。Jenkins在大多数发行版上都以用户身份运行jenkins
,因此拥有自己的.ssh
目录来存储公用密钥和的列表known_hosts
。
我可以想到的最简单的解决方案是:
# Login as the jenkins user and specify shell explicity,# since the default shell is /bin/false for most
# jenkins installations.
sudo su jenkins -s /bin/bash
cd SOME_TMP_DIR
# git clone YOUR_GITHUB_URL
# Allow adding the SSH host key to your known_hosts
# Exit from su
exit
以上是 在Jenkins for Git中管理SSH密钥 的全部内容, 来源链接: utcz.com/qa/411727.html