web-dev-qa-db-ja.com

jenkins / hudsonがgithubリポジトリに接続できない

私はベースAmazon AMI linuxのEc2を使用しています-jenkinsをインストールしましたが、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 [email protected]:adulion/.git
hudson.plugins.git.GitException: Could not clone [email protected]: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 [email protected]: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

Jenkinsをインストールし、gitコマンドラインを使用してリポジトリのクローンを作成した現在のユーザーのキーを生成しましたが、jenkinsはできません。

〜/ .sshファイルを/var/lib/jenkins/.sshにコピーしました

既知のホストにgithubを追加しましたが、試行するソリューションが不足しています。誰が私がどこで間違っているのか知っていますか?ジェンキンスが使用している公開鍵を表示する方法はありますか?正しいものを使用している場合はデバッグできますか?

プライベートリポジトリであるため、リポジトリの名前を削除しました

21
Chris Mccabe

エラーは次のようです:ホストキーの検証に失敗しました。

JenkinsユーザーとしてJenkinsホストにログインし、次を実行する必要があります。

ssh [email protected]

次に、ホストキーについてプロンプトに対してyesと答えます。これは一度だけ行う必要があります。

または、〜jenkins/.ssh/configに「StrictHostKeyChecking no」を追加することもできます。

29
sti

単一のjenkinsマシンを使用して複数のgithubリポジトリをチェックアウトしていますが、設定時に同様の問題がありました。最終的に、JenkinsのSSH構成ファイルを構成して、SSHが各リポジトリに関連付けるIDファイルを自動的に認識するようにしました。

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

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

ソースコード管理下のJenkinsプロジェクト構成では、これをリポジトリ名として使用しました。

git@github-ABC:user/repo.git

最後に、SSH公開鍵をgithubリポジトリのデプロイ鍵として使用します。

5
mpdaugherty

彼は次のことを助けてくれました:

Jenkinsでログイン

Sudo su jenkins

GithubキーをJenkins .sshフォルダーにコピーします

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

キーにラナメ

mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
5
Max

1)ユーザーをjenkinsアカウントに切り替えます

su jenkins

2)パスフレーズなしでキーを作成する

3)ssh [email protected]

それは私には完璧に働きました。

Jenkinsアカウントのパスワードを作成する必要がある場合があります。その場合はSudo passwd jenkinsを使用してください

4
greg

ジェンキンスとしてログインすると、次のことができます

ssh -i〜/ .ssh/id_rsa [email protected]

ここで〜/ .ssh/id_rsaはパス/ to/your/ssh/keyであり、パスワードの入力を求め、known_hostsファイルに追加します

0
user1786927