Tengo que usar un servidor git sin los certificados adecuados, pero no quiero tener que hacerlo
env GIT_SSL_NO_VERIFY=true git command
cada vez que hago una operación git. Pero también me gustaría dejar SSL habilitado para otros repositorios git. ¿Hay alguna manera de hacer que esto sea local para un único repositorio?
Respuestas:
Tu puedes hacer
en su repositorio específico para deshabilitar la verificación de certificados SSL solo para ese repositorio.
fuente
--global
opción ES necesaria cuando un repositorio aún NO está prestado (no se pueden establecer opciones para un repositorio que aún no existe localmente). Siempre se puede volver a encender después.Puedes hacer lo siguiente
Por un solo repositorio
Para todos los repositorios
fuente
sudo
solo debe usarse cuando realmente necesita root para hacer algo. Como instalar un nuevo software, modificar archivos importantes del sistema, formatear discos, reconfigurar la red, administrar servicios ... No había nada en la pregunta de este tipo que implicara que necesitaba root para hacer algo. Si es administrador, debería ejecutar la mayoría de sus comandos, incluidos aquellos que cambian su configuración, sin sudo la mayor parte del tiempo.Como lo que dijo Thirumalai, pero dentro del repositorio clonado y fuera
--global
. Es decir,GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
fuente
could not lock global config file .gitconfig: Permission denied
/var/www/...
En particular si necesitas clon recursivo
fuente
Si está en una máquina con Windows y tiene instalado Git, puede probar los siguientes pasos:
En la sección [http] , agregue la línea: sslVerify = false
fuente
Hay una manera fácil de configurar GIT para manejar su servidor de la manera correcta. Simplemente agregue una sección http específica para su servidor git y especifique en qué certificado (codificado en Base64) confiar:
~ / .gitconfig
De esta forma, no tendrá más errores SSL y validará (generalmente) el certificado autofirmado. Este es el mejor camino a seguir, ya que lo protege de los ataques de hombre en el medio. Cuando solo deshabilita la verificación SSL, es vulnerable a este tipo de ataques.
https://git-scm.com/docs/git-config#git-config-httplturlgt
fuente
Si tiene que deshabilitar las comprobaciones SSL para un servidor git que aloja varios repositorios, puede ejecutar:
(Si todavía usa git <v1.8.5, ejecute
git config --global http.https://my.bad.server.sslVerify false
)Explicación de la documentación donde se encuentra el comando al final, muestra el
.gitconfig
contenido como:Ignorará cualquier verificación de certificados para este servidor, sea cual sea el repositorio.
También tienes alguna explicación en el código
fuente
Esto funciona para mi:
fuente
Esta pregunta sigue apareciendo y aún no encontré un resultado satisfactorio, así que esto es lo que funcionó para mí (basado en una respuesta anterior https://stackoverflow.com/a/52706362/1806760 , que no funciona):
Mi servidor es
https://gitlab.dev
con un certificado autofirmado.Primero ejecute
git config --system --edit
(desde un símbolo del sistema elevado, cambie--system
a--global
si desea hacerlo solo para su usuario), luego inserte el siguiente fragmento después de cualquier[http]
sección anterior :Luego verifique si hizo todo correctamente:
fuente
para Windows, si desea una configuración global, ejecute
fuente
specific repos
explícitamenteEn Linux, si llama a esto dentro de la carpeta del repositorio de git:
esto se agregará
sslVerify = false
en la[http]
sección delconfig
archivo en la.git
carpeta, que también puede ser la solución, si desea agregar esto manualmente connano .git/config
:fuente