Saltar al contenido

¿Cómo conectarse a un servidor de destino a través de SSH con una clave de una canalización de GitLab?

Solución:

Puede ejecutar ssh-keygen desde donde desee siempre que utilice las claves adecuadas en el servidor adecuado.

Esto es lo que necesita:

  • Genera un par de claves
  • Copia el privado clave para una variable CI de gitlab (llamémosla SSH_PRIVATE_KEY)
  • Copia el público la clave del servidor al que se conectará gitlab y la agregará a su ~/.ssh/authorized_keys expediente
  • Dígale a su canalización de CI que use la clave privada que está almacenada en la variable CI de Gitlab

Para hacer ese último paso, simplemente agregue lo siguiente a su .gitlab-ci.yml en la sección script o before_script del trabajo de interés:

- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *ntStrictHostKeyChecking nonn" > ~/.ssh/config'

Entonces haz tus conexiones SSH y ¡voilà!

EDITAR: No pude recordar dónde encontré esta información la primera vez, pero aquí está: https://docs.gitlab.com/ee/ci/ssh_keys/README.html

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *