bitbucket 오류로 Jenkins 구성

bitbucket 오류로 Jenkins 구성

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 [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

이런 일이 발생하는 이유를 아는 사람이 있습니까? 내가 읽은 문서에 따르면 ~/.ssh는 이 파일이 존재할 jenkins 사용자의 올바른 디렉터리입니다.

편집: 내 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

실제 문제는 비트버킷 서버가 알려진 호스트 목록에 없는 것 같습니다. jenkins 사용자로 로그인하고 git clone을 다시 수행해야 했으며 이로 인해 알려진 호스트에 bitbucket URL이 다시 추가되었습니다.

관련 정보