Configurando Jenkins com erro de bitbucket

Configurando Jenkins com erro de bitbucket

Eu tenho uma chave ssh em ~/.ssh/id_rsa.pub quando faço login como usuário jenkins.

Importei isso para o bitbucket corretamente e ele aceitou a chave.

Quando tento fazer um clone do git (para o URL correto), ainda recebo....

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

Alguém sabe de uma razão pela qual isso ocorreria? De acordo com a documentação que li, ~/.ssh é o diretório correto como o usuário jenkins para a existência deste arquivo.

EDIT: Meu usuário jenkins não possui um arquivoknown_hosts em ~/.ssh, mas meus usuários de nível raiz têm - deveria? Posso fazer um clone com meu usuário jenkins perfeitamente e ele não menciona o host como usuário jenkins.

Responder1

Você deve ter a chave privada lá, não apenas a chave pública. Se sua chave pública for id_rsa.pub, sua chave privada provavelmente terá o nome id_rsa.

Presumo que você copiou esta chave pública de algum outro sistema (talvez sua área de trabalho local).

Você também pode copiar a chave privada correspondente para o ~/.sshdiretório jenkins ou pode gerar um novo par de chaves para seu usuário jenkins e importar essa chave pública no bitbucket.

Para gerar um novo par de chaves ssh:

cd ~/.ssh
ssh-keygen -t rsa

Isso irá gerar a seguinte saída:

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.

Responder2

O problema real parecia ser que o servidor bitbucket não estava na minha lista de hosts conhecidos. Tive que fazer login como usuário jenkins e fazer um clone do git novamente, isso adicionou o URL do bitbucket novamente aos hosts conhecidos.

informação relacionada