Usar git con certificados SSL autofirmados

Estos dias estoy trabajando desde casa y en mi ordenador de sobremesa me he encontrado con que tenia problemas para acceder a uno de los repositorios git del trabajo. En concreto me encontraba con este error:

javi@casa:~/git$ git clone https://servidorgit/grupo/proyecto
Cloning into 'proyecto'...
fatal: unable to access 'https://servidorgit/grupo/proyecto/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Para solucionar este problema, debemos decir a git que acepte certificados auto firmados mediante el siguiente comando

git config --global http.sslVerify false

Si queremos, de forma puntual, ignorar un certificado autofirmado, pero mantener la comprobación activa, podemos cambiar el comportamiento del programa mediante las siguientes tres opciones:

Pasamos por linea de comandos como una opción, el ignorar la verificación SSL

git -c http.sslVerify=false clone https://domain.com/path/to/git

Definimos una variable de entorno que solamente se tendrá en cuenta para la ejecución del comando que va justo detrás. Ni siquiera aplicará al resto de la sesión que tengamos abierta.

GIT_SSL_NO_VERIFY=true git clone https://domain.com/path/to/git

Por último, podemos ignorar el certificado SSL para un unico repositorio añadiendolo en la configuración de ese repo concreto. Para ello, entramos a la carpeta raiz del proyecto (en nuestra copia local) y escribimos lo siguiente:

git config http.sslVerify false

Este comando dejará un flag en el .git/config de ese proyecto en concreto. Se diferencia del que puse al principio en el –global, que se aplica a TODOS los repos presentes y futuros con los que interactuará git.

 

Este blog nació originalmente como una recopilación de recetas que yo mismo tenía para ir haciendo cosas. Al final vi que podrian ser utiles a más gente y decidí comenzar a ponerlas todas juntas en un sitio público. Si te ha sido de ayuda, agradecería que dejases un comentario 🙂