2011-06-04 25 views
54

Acabo de instalar Jenkins en mi servidor Ubuntu a través de los pasos de instalación de Debian (usando apt-get install). Quiero que mi build obtenga de un repositorio de git privado en GitHub. Con eso, necesito usar el acceso SSH para acceder a mi repositorio.Jenkins Usuario en Apt-Get Instalación Instalación

La mayoría de los resultados de búsqueda me acaban de decir para iniciar sesión como usuario de Jenkins y generar una clave SSH para mi cuenta de GitHub, pero instalándome a través del gestor de paquetes debian no tengo una contraseña para el usuario de Jenkins.

Entonces, ¿cómo puedo generar una clave SSH para mi servidor Jenkins para usar?

+0

Otra cosa que he tenido curiosidad es: cuando se instala Jenkins, se crea un nuevo usuario 'Jenkins'. ¿A ese usuario se le asigna una contraseña o se deja en blanco? Si está en blanco, ¿es eso un riesgo de seguridad? –

+0

Creo que el usuario se creó sin una contraseña y sin shell, por lo que no creo que sea un gran riesgo de seguridad, ya que el usuario no puede hacer nada. –

+0

@DaveLong soy muy nuevo en jenkins y la primera vez que configuro jenkins en el servidor ubantu, ¿me pueden ayudar a configurar jenkins en mi servidor ubantu? – napender

Respuesta

92

Anticipo que de vez en cuando desearás poder iniciar sesión como jenkins para hacer otras tareas, por lo que resolveré el problema más general. Una respuesta estricta a su pregunta se incluye al final.

Cambio de Jenkins contraseña sin saberlo

Desde cualquier cuenta que tenga sudo permisos, se puede restablecer Jenkins contraseña por otra de su elección:

sudo passwd jenkins 

Se le puede pedir primero para su propia contraseña, para usar sudo. Luego se le pedirá la nueva contraseña para configurar jenkins, y finalmente una confirmación de esa nueva contraseña.

Si el usuario con derechos sudo se llama Joe, aquí es como una sesión podría ser:

joe $ sudo passwd jenkins 
[sudo] password for joe:  **you enter joe's passwd** 
Enter new UNIX password:  ** you enter new jenkins passwd** 
Retype new UNIX password: ** you enter new jenkins passwd** 
passwd: password updated successfully 

alternativa: si está registrado como Jenkins sin su contraseña

Alternativamente, otra vez usando sudo de una adecuada otra cuenta, puede iniciar sesión como Jenkins sin ser preguntado por su contraseña:

sudo su - jenkins 

Un aparte: Evitar la confusión contraseña pronta

Antes de emitir sudo passwd jenkins, podríamos primero como para autenticarse por separado con sudo para evitar la confusión en torno a la pregunta "cuya contraseña se me pide para, ahora?".

sudo -v 
sudo passwd jenkins 

Después de una autenticación exitosa por sudo, hay una ventana (por ejemplo, 15 minutos) en la que no se le pedirá que autenticar de nuevo. (Tenga en cuenta que puede invalidar inmediatamente (matar) esta sesión con sudo -k, si usted quiere experimentar.)

El prometió respuesta estricta

sudo -u jenkins ssh-keygen 

A continuación, utilice el gato para ver el contenido de la clave pública que pasar a github (pero el camino es sólo un ejemplo):

sudo cat ~jenkins/.ssh/id_rsa.pub 

la ubicación exacta y el nombre del archivo de clave pública depende de lo que ingresó a los mensajes de ssh-keygen, arriba. He usado un acceso directo al directorio de inicio de jenkins, ~jenkins.

Enlaces relacionados

+10

Gracias por la extensa explicación. Descubrí que en realidad tiene que iniciar sesión como usuario de Jenkins, por lo que es necesario agregar una contraseña. Antes de que Jenkins pueda clonar un repositorio por sí mismo, tendrá que iniciar sesión como jenkins y al menos hacer un ssh 'ssh git @ github.com' para agregar la huella digital. También asegúrese de configurar el cliente de git con 'git config --global user.email 'jenkins @ email.com'' y' git config --global user.name' jenkins'' –

+0

¡Gracias por los excelentes consejos! –

+0

Muchas gracias. Esta respuesta fue increíblemente útil. –