2010-08-18 9 views
8

Si hay alguien que pueda ayudarme a entender por qué este git repo no es una clonación, sería increíble.Hudson git error ssh

Tengo el mismo comando desde el terminal que funciona. Espero averiguar dónde puedo poner la contraseña para que el servidor pueda autenticar la conexión.

Por favor y gracias.

ERROR: Error cloning remote repo 'origin' : Could not clone ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git 
ERROR: Cause: Error performing /usr/bin/git clone -o origin ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace 
Command returned status code 128: Initialized empty Git repository in /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace/.git/ 
No protocol specified 

(ssh-askpass:12523): Gtk-WARNING **: cannot open display: :0.0 
Host key verification failed. 
fatal: The remote end hung up unexpectedly 

Trying next repository 
ERROR: Could not clone repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:719) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:658) 
    at hudson.FilePath.act(FilePath.java:753) 
    at hudson.FilePath.act(FilePath.java:735) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:658) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1046) 
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479) 
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411) 
    at hudson.model.Run.run(Run.java:1248) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:129) 
+0

¿Lo ejecutó como hudson desde la terminal o como usted? –

+0

Hudson no puede establecer una conexión ssh porque su clave está protegida por una contraseña. – Rudi

Respuesta

8

Debería configurar una relación de confianza entre ssh tu repositorio git y el servidor.

Solo necesita hacer esto una vez.

En resumen, va qs sigue:

la sesión como el usuario que ejecuta Hudson

ssh-keygen 

usar una contraseña vacía

Esto crea 2 archivos en .ssh: id_dsa y id_dsa.pub .

cat .ssh/id_dsa.pub 

Copie el galimatías que representa la clave pública.

ssh repo-server 

Confirme que desea agregar la clave de host a known_hosts. Inicie sesión usando la cuenta que accede al repositorio.

cat - >>.ssh/authorized_keys 

(Asegúrate de haber 2> 's o arriesgarse a la ira de sus colegas) continuación, pegue el galimatías que acaba de copiar.

Cierre la sesión y compruebe que ahora puede ssh sin tener que proporcionar una contraseña.

Esto funciona para hosts basados ​​en Unix. Para github, gitosis, windows el proceso es similar, pero por supuesto diferente.

Hudson debería ser capaz de conectarse.

+0

¡Gracias! Estuve luchando por un tiempo sin entender por qué mi clave SSH no funcionaba, hasta que leí las instrucciones, específicamente la línea "Iniciar sesión como el usuario que ejecuta hundson" :-) – machineghost

0

En caso de que sea url:

ssh://[email protected]:/usr/local/repository/kdm/git/TestCaseGenerator.git 

?

(Missing dos puntos después del ".net")

+0

Si proporciona qué protocolo usar "explícitamente", no es necesario ':'. –

0

usted tiene que comprobar lo siguiente:

  1. Está utilizando claves SSH del usuario que ejecutó demonio de Hudson. Por ejemplo, si user = hudson, entonces debe iniciar sesión como hudson y generar claves ssh
  2. Ha cargado su clave pública en su servidor (github, assembla) desde el archivo correcto .ssh/id_rsa.pub, es decir.para el mismo usuario que ejecutó demonio de Hudson
  3. Usted ha añadido RSA huella digital de su servidor a su archivo
0

.ssh/known_hosts Si todo debe ser correcto, pero extrañamente no funciona, asegúrese de que su proyecto está rally de construir en el esclavo usted configuró.

Cuestiones relacionadas