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).
[email protected]:~# 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.
[email protected]:~# git config --global http.sslVerify false [email protected]:~# 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. [email protected]:~# |
Alternativa N° 2: Crear certificado CA.
Para el siguiente ejemplo, restablecemos el sslVerify a true.
[email protected]:~# git config --global http.sslVerify true |
Asegúrese de tener los certificados CA.
[email protected]:~# 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:
[email protected]:~# cd ~/ [email protected]:~# ls .git* -l -rw-rw-r-- 1 gchacaltana gchacaltana 91 Mar 29 23:31 .gitconfig [email protected]:~# 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!.