tipos tag sirve qué para nos generar existen etiquetas eliminar cuando crear creamos clave git ssh jenkins continuous-integration

tag - ssh key git



Administrar claves SSH dentro de Jenkins para Git (4)

Estoy tratando de poner en marcha a Jenkins con un repositorio alojado en GitHub (usando el plugin Jenkins Git). El repositorio tiene múltiples submódulos de git, por lo que no estoy seguro de querer probar y administrar varias claves de implementación.

Mi cuenta de usuario personal de GitHub es colaboradora de cada uno de los proyectos que deseo /var/lib/jenkins/.ssh con Jenkins, así que he generado una clave SSH dentro de /var/lib/jenkins/.ssh y la /var/lib/jenkins/.ssh agregado a mi cuenta personal de GitHub.

Sin embargo, cuando intento agregar el URL del repositorio a la configuración de mi proyecto de Jenkins, obtengo:

Failed to connect to repository : Command "git ls-remote -h [email protected]:***/***.git HEAD" returned status code 128: stdout: stderr: Host key verification failed. fatal: The remote end hung up unexpectedly

Del mismo modo, cuando programo una compilación obtengo:

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

También intenté configurar un archivo de configuración SSH como se describe here , pero fue en vano.

¿Alguien puede arrojar algo de luz? Gracias

EDITAR

Debo añadir que estoy ejecutando CentOS 5.8


¿Has intentado iniciar sesión como usuario de jenkins?

Prueba esto:

sudo -i -u jenkins #For RedHat you might have to do ''su'' instead. git clone [email protected]:your/repo.git

Muchas veces se produce un error si el host no se ha agregado o autorizado (por lo tanto, siempre inicio sesión manualmente como hudson / jenkins para la primera conexión a github / bitbucket) pero ese enlace que supuestamente incluye correcciones.

Si lo anterior no funciona, intente volver a copiar la clave. Asegúrate de que sea la clave del pub (es decir, id_rsa.pub). Tal vez te perdiste algunos personajes?


Esto funciona para mí si tiene config y el archivo de clave privada en /Jenkins/.ssh/ necesita chown (cambiar propietario) para estos 2 archivos y luego reinicie jenkins para que la instancia de jenkins lea estos 2 archivos.


Parece que el host github.com que jenkins intenta conectarse no aparece en la lista de $HOME/.ssh/known_hosts del usuario de Jenkins. Jenkins se ejecuta en la mayoría de las distribuciones como el usuario jenkins y, por lo tanto, tiene su propio directorio .ssh para almacenar la lista de claves públicas y known_hosts .

La solución más fácil que se me ocurre para solucionar este problema es:

# 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


Según este article , puedes intentar seguir el siguiente comando:

ssh-add -l

Si su clave no está en la lista, entonces

ssh-add /var/lib/jenkins/.ssh/id_rsa_project