Siempre que empiezo a trabajar con una maquina virtual (o en una plataforma) y quiero clonar un repositorio GIT tengo los mismos problemas de siempre al tratarse de un sitio https. Por ello he decidido crear esta entrada indicándoles las alternativas que pueden hacer para estos casos.
Cuando intentas clonar un repositorio de Github usando HTTPS, tendrás dificultades con los certificados, apareciéndote un error muy similar al siguiente (dependiendo de tu versión de GIT).
gchacaltana@home-pc:~# git clone https://github.com/gchacaltana/ClientAPICloudforms.git Cloning into 'ClientAPICloudforms'... fatal: unable to access 'https://github.com/gchacaltana/ClientAPICloudforms.git/': Problem with the SSL CA cert (path? access rights?) |
En otras versiones de GIT, quizás te aparezca : «fatal: HTTP request failed»
Alternativa N° 1: Desactivar la verificación SSL.
Esta primera solución, es la mas rápida pero no lo mejor que puedas hacer.
gchacaltana@home-pc:~# git config --global http.sslVerify false gchacaltana@home-pc:~# git clone https://github.com/gchacaltana/ClientAPICloudforms.git Cloning into 'ClientAPICloudforms'... remote: Reusing existing pack: 9, done. remote: Total 9 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (9/9), done. gchacaltana@home-pc:~# |
Alternativa N° 2: Crear certificado CA.
Para el siguiente ejemplo, restablecemos el sslVerify a true.
gchacaltana@home-pc:~# git config --global http.sslVerify true |
Asegúrese de tener los certificados CA.
gchacaltana@home-pc:~# opkg install ca-certificates |
Luego edita el archivo oculto .gitconfig que esta en el directorio personal, si no existe, puede crearla de la siguiente forma:
gchacaltana@home-pc:~# cd ~/ gchacaltana@home-pc:~# ls .git* -l -rw-rw-r-- 1 gchacaltana gchacaltana 91 Mar 29 23:31 .gitconfig gchacaltana@home-pc:~# sudo vim .gitconfig |
Cambia la configuración de tu .gitconfig para http.
[user] email = gchacaltanab@outlook.com name = Gonzalo Chacaltana [http] sslVerify = true sslCAinfo = /etc/ssl/certs/ca-certificates.crt |
Ahora si intente clonar el repositorio con su git clone y listo!
Publicaciones que pueden interesarte:
Pruebas Unitarias y Mocking en el desarrollo de software
Fundamentos de la Arquitectura Basada en Eventos
Quieres recibir este contenido a tu correo electrónico?, suscríbete aquí.