La creación de claves SSH para Gerrit y Hudson
-
02-10-2019 - |
Pregunta
Estoy tratando de utilizar el Hudson
Gerrit Trigger
plug-in .
Por alguna razón, Gerrit
no acepta la clave SSH
situada en /var/lib/hudson/.ssh/id_rsa
.
En la interfaz gráfica de usuario me sale Connection error : com.jcraft.jsch.JSchException: Auth fail
como un error, y cuando estoy trabajando en el terminal consigo un error Permission denied (publickey)
.
¿Cómo puedo generar y utilizar una clave privada que trabaja de manera Hudson
y Gerrit
pueden jugar bonito?
Solución
El PO Josh Smith logró solucionar el problema:
De hecho, me había necesitado para 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.
Luego, desde allí 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:
¿Qué es el usuario que utilizará el sistema de revisión de código basado en la web Gerrit?
Eso usuario necesita su clave pública SSH /var/lib/hudson/.ssh/id_rsa.pub
en su $HOME/.ssh/authorized_keys
, como se ilustra en esta guía .
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 va a copiar debe estar ubicado en el archivo
~/.ssh/id_rsa.pub
en el cliente.
Suponiendo que todos los servidores OpenSSH utiliza en lugar de una aplicación SSH diferentes, los datos de clave pública deben ser añadidos en el 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 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.