詹金斯/哈德森无法连接到GitHub库(jenkins/hudson can't conne

2019-06-23 18:12发布

我在EC2上与我安装詹金斯基地亚马逊AMI的linux,但是当我去拉从GitHub回购我提示以下错误:

Building in workspace /var/lib/jenkins/workspace/build social
Checkout:build social / /var/lib/jenkins/workspace/build social - hudson.remoting.LocalChannel@5c7b21b
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:adulion/.git
hudson.plugins.git.GitException: Could not clone git@github.com:adulion/.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1117)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1059)
    at hudson.FilePath.act(FilePath.java:832)
    at hudson.FilePath.act(FilePath.java:814)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1059)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:581)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:470)
    at hudson.model.Run.run(Run.java:1421)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@github.com:adulion/.git /var/lib/jenkins/workspace/build social" returned status code 128:
stdout: Cloning into /var/lib/jenkins/workspace/build social...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

我已经生成了谁安装詹金斯和已成功使用Git的命令行克隆回购,但詹金斯不能在当前用户的关键。

我抄的〜/ .ssh文件到/var/lib/jenkins/.ssh

我已经加入GitHub上已知的主机和我都用完了解决方案的尝试。 任何人都知道我要去的地方错了吗? 有没有办法让詹金斯显示公钥它的使用,如果它使用了正确的一个,我可以调试?

我删除了回购,因为它的私人回购协议的名称

Answer 1:

错误似乎是:主机密钥验证失败。

你应该登录到您的詹金斯主机作为詹金斯用户和运行:

ssh git@github.com

然后回答yes关于主机密钥的提示。 这只需要做一次。

另外,您可以添加“StrictHostKeyChecking不”〜詹金斯/的.ssh / config中。



Answer 2:

我使用的是单詹金斯机检查出多个GitHub的库和设置起来的时候,也有类似的问题。 我落得这样做是配置詹金斯的SSH配置文件,以便将SSH自动知道哪个ID文件,每个仓库关联。

/var/lib/jenkins/.ssh/config:

Host github-ABC
  HostName github.com
  User git
  IdentityFile /var/lib/jenkins/.ssh/id_rsa_ABC

在下面的源代码管理詹金斯项目配置,我用这个作为存储库的名称:

git@github-ABC:user/repo.git

最后,我用的是SSH公钥在github上存储库中的部署重点。



Answer 3:

他下面帮我:

詹金斯下登录

sudo su jenkins

您的GitHub密钥复制到詹金斯的.ssh文件夹

cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/

Raname键

mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub


Answer 4:

1)切换用户到您的帐户詹金斯

su jenkins

2)创建一个没有密码的关键

3)SSH git@github.com

这工作完美的我。

您可能需要创建詹金斯帐户的密码,如果是使用sudo passwd jenkins



Answer 5:

如果你登录为詹金斯你可以做

SSH -i的〜/ .ssh / id_rsa git@github.com

其中的〜/ .ssh / id_rsa的路径/到/你/ SSH /键,它会提示输入密码,并添加到known_hosts文件



Answer 6:

您需要詹金斯的SSH密钥添加到您的github用户。

生成SSH密钥

去:

Github->Settings(Top right)->SSH Keys(Left Pane)->Add SSH Key



文章来源: jenkins/hudson can't connect to github repo