Bitbucket エラーで Jenkins を構成する

Bitbucket エラーで Jenkins を構成する

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

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

git clone (正しい URL に) を実行しようとすると、まだ次のエラーが表示されます...

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 [email protected]:DAVID99WORLD/assessme.git
hudson.plugins.git.GitException: Could not clone [email protected]: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 [email protected]: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

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

編集: 私の jenkins ユーザーに ~/.ssh 内の known_hosts ファイルはありませんが、ルート レベルのユーザーには存在します。存在するべきでしょうか? jenkins ユーザーでクローンを問題なく実行でき、jenkins ユーザーとしてホストがまったく示されません。

答え1

公開鍵だけでなく秘密鍵もそこにあるはずです。公開鍵が の場合id_rsa.pub、秘密鍵の名前は である可能性がありますid_rsa

この公開鍵は他のシステム (おそらくローカル デスクトップ) からコピーしたと思いますか?

対応する秘密鍵を jenkins~/.sshディレクトリにコピーすることも、jenkins ユーザー用に新しいキーペアを生成してその公開鍵を bitbucket にインポートすることもできます。

新しい SSH キーペアを生成するには:

cd ~/.ssh
ssh-keygen -t rsa

これにより、次の出力が生成されます。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jenkins/.ssh/id_rsa.
Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub.

答え2

実際の問題は、Bitbucket サーバーが既知のホストのリストになかったことのようです。jenkins ユーザーとしてログインし、git clone を再度実行する必要がありました。これにより、Bitbucket URL が既知のホストに再度追加されました。

関連情報