2010-09-14 15 views
8

Estoy tratando de utilizar el HudsonGerrit Trigger plug-in.Creación de claves SSH para Gerrit y Hudson

Por alguna razón, Gerrit no acepta la clave SSH ubicada en /var/lib/hudson/.ssh/id_rsa.

En la GUIConnection error : com.jcraft.jsch.JSchException: Auth fail me sale como un error, y cuando estoy trabajando en la terminal me sale un error Permission denied (publickey).

¿Cómo puedo generar y usar una clave privada de trabajo para que Hudson y Gerrit puedan jugar bien?

Respuesta

9

El PO Josh Smith logró solucionar el problema:

yo realmente tenía que añadir la clave de SSH/var/lib/hudson/.ssh/id_rsa.pub para el usuario (ME) en la interfaz gráfica de usuario Gerrit.
Entonces a partir de ahí funcionó como un encanto.
El nombre de usuario debe ser el nombre de usuario en Gerrit (la cuenta de administrador).

Mi consejo original es a continuación:


¿Cuál es el usuario que utilizará el sistema de revisión de código basado en la web Gerrit?

Ese usuario necesita su clave pública ssh /var/lib/hudson/.ssh/id_rsa.pub en su $HOME/.ssh/authorized_keys, como se ilustra en this guide.

alt text

de distribución de claves

La parte pública del par de claves RSA debe copiarse en cualquier servidor que se accederá por el cliente. La información de clave pública que debe copiarse debe ubicarse en el archivo ~/.ssh/id_rsa.pub en el cliente.
Suponiendo que todos los servidores usan OpenSSH en lugar de una implementación SSH diferente, los datos de la clave pública se deben adjuntar al archivo ~/.ssh/authorized_keys en los servidores.

# first, upload public key from client to server 
client$ scp ~/.ssh/id_rsa.pub server.example.org: 

# next, setup the public key on server 
server$ mkdir ~/.ssh 
server$ chmod 700 ~/.ssh 
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 
server$ chmod 600 ~/.ssh/authorized_keys 
server$ rm ~/id_rsa.pub 

asegúrese de añadir nuevos datos de clave pública al archivo authorized_keys, como múltiples claves públicas pueden estar en uso. Cada entrada de clave pública debe estar en una línea diferente.


+0

@VonC ya voy a pensar en su respuesta a todas las preguntas que tengo! También podría tener una línea directa ... 'hudson' es el usuario que debería usar el sistema de revisión, I * think *. Perdona la noobness. ¿Te refieres a eso, o al usuario * humano * real, por ejemplo, 'joshsmith'? –

+0

@Josh: si "hudson" es el usuario que está ejecutando la conexión ssh al sistema localhost Gerrit, entonces necesita su propio 'id_rsa.pub' agregado a su' ~ hudson/.ssh/authorized_key'. – VonC

+0

@VonC 'hudson' tiene su propio' id_rsa.pub' en '/ var/lib/hudson/.ssh'. ¿Es esto lo que quieres decir? –