2

jenkins ユーザーとしてログインすると、~/.ssh/id_rsa.pub に ssh キーがあります。

これを bitbucket に正しくインポートし、キーを受け入れました。

(正しい URL に) git clone を実行しようとすると、まだ....

Building in workspace /var/lib/jenkins/jobs/Google adwords/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Google adwords/workspace - hudson.remoting.LocalChannel@2c473996
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@bitbucket.org:DAVID99WORLD/assessme.git
hudson.plugins.git.GitException: Could not clone git@bitbucket.org:DAVID99WORLD/assessme.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:268)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064)
    at hudson.FilePath.act(FilePath.java:842)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494)
    at hudson.model.Run.execute(Run.java:1502)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@bitbucket.org:DAVID99WORLD/assessme.git /var/lib/jenkins/jobs/Google adwords/workspace" returned status code 128:
stdout: Cloning into '/var/lib/jenkins/jobs/Google adwords/workspace'...

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

これが発生する理由を知っている人はいますか?私が読んだドキュメントによると、 ~/.ssh は、こ​​のファイルが存在するジェンキンスユーザーとして正しいディレクトリです。

EDIT : 私の jenkins ユーザーは ~/.ssh に known_hosts ファイルを持っていませんが、私のルートレベルのものは持っています - そうすべきですか? jenkins ユーザーで問題なくクローンを作成できますが、jenkins ユーザーとしてホストについてはまったく言及されていません。

4

1 に答える 1

3

おそらくknown_hostsファイルとは関係ありません。Jenkinsが公開SSHキーを読み取れることを確認する必要があると思います。したがって、次のことを確認することをお勧めします。

  • / etc / passwdでJenkinsユーザー用に定義されたホームは〜/.sshと一致します
  • Jenkinsユーザーは自分のホームディレクトリにアクセスできます(したがって、上記のすべてのディレクトリで少なくとも--x--x--x)
  • Jenkinsユーザーはid_rsa.pubファイルにアクセスできます
  • Jenkinsは実際にはJenkinsユーザーで実行されており、Tomcatユーザーではありません。

また、現在のid_rsa.pubファイルを削除するとどうなりますか?使用する公開鍵が見つからないという不満はありますか?

于 2012-08-23T19:06:29.263 に答える