55

JenkinsをGitHubでホストされているリポジトリで稼働させようとしています(Jenkins Gitプラグインを使用)。リポジトリには複数の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構成ファイルを設定しようとしましたが、役に立ちませんでした。

誰かが光を当てることができますか?ありがとう

編集

CentOS5.8を実行していることを追加する必要があります

4

4 に答える 4

65

github.comjenkinsが接続しようとしているホストがJenkinsユーザーのにリストされていないよう$HOME/.ssh/known_hostsです。Jenkinsは、ほとんどのディストリビューションでユーザーとして実行されるため、公開鍵とのリストを格納するためjenkinsの独自のディレクトリがあります。.sshknown_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
于 2013-03-09T19:27:43.223 に答える
6

jenkinsユーザーとしてログインしてみましたか?

これを試して:

sudo -i -u jenkins #For RedHat you might have to do 'su' instead.
git clone git@github.com:your/repo.git

ホストが追加または承認されていない場合は失敗することがよくありますが(したがって、github /bitbucketへの最初の接続では常にhudson/jenkinsとして手動でログインします)、含まれているリンクで修正されると思われます。

上記が機能しない場合は、キーを再コピーしてみてください。そのパブキー(つまりid_rsa.pub)を確認してください。多分あなたはいくつかのキャラクターを逃しましたか?

于 2013-03-09T19:26:15.343 に答える
4

この記事によると、次のコマンドを試すことができます。

   ssh-add -l

キーがリストにない場合は、

   ssh-add /var/lib/jenkins/.ssh/id_rsa_project
于 2013-03-09T19:34:04.727 に答える
1

/Jenkins/.ssh/にconfigと秘密鍵ファイルがある場合、これは私にとってはうまくいきます。これら2つのファイルをchown(所有者を変更)してから、jenkinsインスタンスがこれら2つのファイルを読み取るためにjenkinsを再起動する必要があります。

于 2014-04-15T05:24:51.990 に答える