Git pull / push: no se puede acceder a HTTPS, las rutinas SSL parecen estar inactivas

105

Estoy usando Git (y GitHub) a diario y todo ha funcionado bien y, de repente, ya no puedo comunicarme con mi repositorio remoto de GitHub a través de mis comandos de Git. Cuando intento "Git pull", aparece el siguiente error:

fatal: no se puede acceder a ' https://github.com/snahrvar/eatibl.git/ ': error: 1407742E: rutinas SSL: SSL23_GET_SERVER_HELLO: versión del protocolo de alerta tlsv1

Entonces, probé en múltiples repositorios y obtengo los mismos errores en mi computadora. Hice que otra persona interactuara con esos mismos repositorios, y funciona bien para ellos. Antes de este error, hice un "npm install sharp" en un proyecto y terminó fallando, y sospecho que esto puede haber alterado alguna configuración de SSL, ¡pero es una suposición descabellada!

¡Cualquier idea general u orientación será muy apreciada!

Si es de alguna ayuda, aquí está mi entorno:

  • Versión de Git: 1.9.4.msysgit.2
  • Versión de Windows: Windows 8.1
Shayan Nahrvar
fuente
¿El mismo problema aquí ?
LYES - CHIOUKH
Lo mismo aquí con git 1.9.5.msysgit.1
Maxime Helen
Estoy experimentando el mismo problema
chase cabrera
11
Creo que este cambio es lo que causó el error: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H
¡Tuve el mismo problema e instalé el escritorio Github y todo funcionó bien!
Damian

Respuestas:

69

Actualizar TortoiseGit y GCM no me ayudó, pero actualizar Git sí lo hizo, según el consejo de @ Frederic en los comentarios.

https://git-scm.com/download/win

Para asegurarse de que la nueva versión de Git se instale correctamente y no entre en conflicto con instalaciones anteriores (podría, si usara TortoiseGit, porque usaría carpetas diferentes y se enredaría con la variable PATH), elimine la instalación de Git existente antes de instalar el Git actualizado . También es posible que deba instalar con derechos de administrador.

feos
fuente
No estoy seguro de qué sucedió con la última versión de git para comenzar a lanzar estos errores hoy, pero esta respuesta es para mí. Tomé una instalación nueva (compilación de 2 días de antigüedad) y estoy nuevamente en funcionamiento y sin errores ssl. Habla de una aguja en el pajar.
JeffBaumgardt
3
La parte más interesante es que los propios github no mencionan esto, aunque probablemente esté relacionado con sus actualizaciones recientes. La búsqueda rápida en Google sobre problemas similares con otros alojamientos de código culpa a OpenSSL.
feos
Sí, ¡solo necesitaba actualizar a la última versión! Gracias: D
Shayan Nahrvar
1
@gath Probablemente tenga 2 instalaciones incompatibles de git, intente desinstalar la existente por completo, luego reinstale git desde cero. Sin embargo, su error es una diferente stackoverflow.com/questions/3778042/...
Feos
5
Para mí, "eliminar la instalación de Git existente antes de instalar el Git actualizado" fue la clave de toda esta debacle.
Richard Ockerby
20

Es probable que se encuentre con una incompatibilidad con la desaprobación de GitHub de los protocolos de cifrado SSL débiles:

Aviso de eliminación de estándares criptográficos débiles

La solución variará, pero para Windows probablemente necesite actualizar el administrador de credenciales de Git a 1.14.0

https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0

Anthony L
fuente
1
¿Seguirán admitiendo el administrador de credenciales de Git integrado para Windows: wincred. Recibo el mismo error con esa herramienta
Max Hartshorn
Esta respuesta ayudó a proporcionar contexto sobre el cambio, pero la solución de @feos es la que me funcionó (Windows 10, TortoiseGit)
Eric Farraro
14

Si está utilizando Android Studio o IntelliJ IDEA, actualizar Git a la última versión y cambiar la ruta para apuntar a la nueva versión me resuelve el problema.

Ingrese la descripción de la imagen aquí

humazed
fuente
1
Esto también funcionó para mí: instale la última versión de Git y apunte IntelliJ IDEA a ella.
user1825866
8

Usando TortoiseGit, hice todas las otras correcciones / actualizaciones dadas para esto y todavía no tuve éxito. Encontré esto: No puedo empujar / tirar / buscar de repente

Mi configuración de TortoiseGit para Git para Windows apuntaba a la ruta de Git.exe C:\Program Files (x86)\Git\bin. Lo cambié a C:\Program Files\Git\biny ahora está funcionando de nuevo.

MJWitte
fuente
3
Lo verifiqué usando el Check nowbotón en el Generalcuadro de diálogo de configuración, con la x86ruta que obtuve git version 1.9.5.msysgit.1, después de cambiar a C:\Program Files\Git\bintengo git version 2.16.2.windows.1y con esa ruta todo funciona bien.
desarrollará
8

Esto es lo que funcionó para mí.

  1. Instale la última versión de Git desde aquí: https://git-scm.com/download/win
  2. En TortoiseGit, vaya al menú ConfiguraciónGeneralRuta de Git.exe - cámbiela de la ruta de 32 bits a la de 64 bits: C: \ Archivos de programa (x86) \ Git \ bin → C: \ Archivos de programa \ Git \ bin
dgundersen
fuente
Buen punto. Si alguien (como yo) ha estado usando la versión anterior de Windows de 32 bits, asegúrese de reemplazarla en la RUTA.
AG
Esto me salvó el tiempo @dgundersen
Tejas Mehta
8

Actualizar Git no fue suficiente en mi situación. Después de depurar durante varias horas, esta fue mi solución:

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.0

C:\wamp64\www\maandlastenmanager> git config http.sslVersion tlsv1.2

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.2
Raymond van Rijs
fuente
Esto me resolvió el problema y en una configuración completamente diferente (Mac OS X). curltodavía me da el mensaje, lo que me hace preguntarme si hay una configuración como esa que se git
aplica
¿Cuál de estas líneas?
Dmitri Zaitsev
2

Tuve este mismo problema al extraer el código de GitHub en mi terminal de Visual Studio Code . Encontré útiles los consejos de las respuestas anteriores y pirateé una solución siguiendo los pasos a continuación:

Este repositorio fue bastante útil.

Espero que esto ayude a alguien.

Bolu Ajibawo
fuente
2

TL; DR: git config --system http.sslbackend schannely desactive las comprobaciones HTTPS github.comen su software antivirus


Estoy usando la línea de comandos de Git en Windows 8 x64. Además, mi software antivirus comprueba el tráfico HTTPS de forma predeterminada. Como otras personas para responder a esta pregunta, uso GitHub casi a diario.

  • Actualizar Git - no ayudó - porque usé OpenSSL (ver más abajo)
  • Actualizar el administrador de credenciales: no ayudó

Luego comencé a jugar cambiando el backend SSL:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel y el software antivirus comprueba el tráfico SSL:

  1. OpenSSL, HTTPS se activa: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS marca OFF: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS se activa: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS marca OFF: funcionó bien

PD: En lugar de la línea de comandos, puede reinstalar la última versión de Git, seleccionando "Usar biblioteca de validación SSL nativa de Windows".

PPS: El caso (3) parece ser un error en la biblioteca de canales, porque el certificado MITM que usa mi software antivirus está incluido en la lista blanca de mi máquina.

Mike Makarov
fuente
Al reinstalar git, eliminé por completo su instalación anterior, y para la nueva instalación, elegí OpenSSL, así que supongo que lo reinstaló desde cero. Pero no tengo antivirus. ¿La reinstalación del backend SSL cambió algo para usted o no lo hizo?
feos
@feos Sí, solo me funciona en el modo que no es OpenSSL. Además, tuve que desactivar las comprobaciones https en AV.
Mike Makarov
Todavía no me queda claro, ¿reinstaló SSL o no?
feos
@feos No, no lo hice. No creo que uno pueda "reinstalar SSL" en Windows. Así que no estoy seguro de lo que quieres decir con esto. Cuando instalas el último cliente de git, tienes una opción para elegir: backend OpenSSL o uno integrado en Windows. Elegí OpenSSL. Eso no funcionó y cambié el backend a través de la configuración. Espero que esto aclare.
Mike Makarov
Lo hace, gracias. Creo que tenías un problema completamente diferente al del OP.
feos
1

En macOS, puede instalar la última versión agit través de Homebrew.

COMO
fuente
Desafortunadamente, esto no funcionó para mí en Mac OS X 10.7.5 (Lion), obtuve el mismo error. Luego intenté instalar Homebrewdesde cero, parece ser un problema 22. error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version while accessing https://github.com/Homebrew/brew/info/refs?service=git-upload-pack fatal: HTTP request failed
Setaa
@Setaa, bueno, ¿puede intentar instalarlo manualmente desde la página de lanzamientos, entonces? Parecen que han abordado en catch22 1.5.5
AS
1

Lo mismo para mí con Git 1.9.5.msysgit.1 también. Intenté instalar https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , pero no hubo cambios.

En realidad, no sucede nada después de la instalación; tal vez estoy haciendo algo mal (Puede que eso no ayude para la pregunta inicial, pero para otras personas, ¡sí!)

Frederic
fuente
6
¡Solo para ayudar a la comunidad, acabo de actualizar git (para Windows) (con git-scm.com/download/win ) y resolvió el problema!
Frederic
2
En Windows 7 Pro / 64, actualicé git usando el enlace git-scm.com/download/win. Esto instaló git en c: \ archivos de programa \ git en lugar de c: \ archivos de programa (x86) \ git. Mi versión cambió de 1.9.5.msysgit.1 a 2.16.2.windows.1 y cuando configuré WebStorm para que apunte a la versión más nueva, el misterioso 1407742E: rutinas SSL: SSL23_GET_SERVER_HELLO: el error de versión del protocolo de alerta tlsv1 cesó.
LECTURA DE CÓDIGO
FYI, mi configuración es:C:\Program Files\Git\etc> cat install-options.txt Editor Option: Notepad++ Path Option: Cmd Plink Path: C:\Program Files (x86)\PuTTY\plink.exe SSH Option: Plink CURL Option: OpenSSL CRLF Option: CRLFAlways Bash Terminal Option: MinTTY Performance Tweaks FSCache: Enabled Use Credential Manager: Enabled Enable Symlinks: Disabled
LECTURA DE CÓDIGO
Debes animar a mejorar una respuesta.
Edward Thomson
1

Sí, hoy encontré el mismo problema en una solicitud de extracción y la solución fue simplemente actualizar Git descargando la última versión (2.16.2) de 64 bits de Git para Windows. Fue lanzado hace 5 días, el 2018-02-20.

Thomas M
fuente
1

El comentario de @andw funcionó para mí:

Actualice la versión 1.9.5 a 2.15.1 de Git siguiendo estos pasos:

En sourceTree, vaya al menú ToolsOptionsGitUse Embedded Git .

Callejón sin salida
fuente
1

Una solución rápida sería git config --global http.sslVerify true , pero no se recomienda ya que anula el propósito de usar SSL.

Una segunda y mejor forma es utilizar claves ssh en lugar de una URL SSL.

Pasos para generar claves SSH

o Ejecute el siguiente comando en una terminal Git (Git Bash): ssh-keygen

Después de ejecutar el comando, aparecerá el siguiente mensaje:

Generando par de claves RSA públicas / privadas.

Ingrese el archivo en el que guardar la clave (/h//.ssh/id_rsa):

Proporcione la ruta para almacenar la clave, por ejemplo, ingrese el archivo en el que guardar la clave (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Luego ingrese la frase de contraseña para esa clave (cualquier contraseña de un mínimo de 8 caracteres)

• A continuación, ejecute el siguiente comando: eval "$ (ssh-agent –s)"

• Ejecute el siguiente comando: ssh-add C:/Users/Public/my-new-ssh-keyNota: use una barra diagonal en la ruta a la clave SSH recién creada.

Después de eso, agregue el contenido del archivo my-new-ssh-key.pub y agréguelo en el área de texto para Agregar clave pública (Bitbucket, GitHub, etc.)

ankit bhardwaj
fuente
0

Mientras me conectaba a un repositorio remoto para buscar, extraer, empujar, etc., tuve el mismo error:

fatal: unable to access 'https://github.com/repository.git/': error:1
407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

Acabo de reinstalar Git de 64 bits en lugar de 32 bits y eso solucionó el problema.

Después de la instalación, verifique la ruta de Git en las variables de entorno. Debería ser:

C:\Program Files\Git\bin\git.exe
Pratap Singh
fuente
0

Este es un problema con IntelliJ y RubyMine. GitHub debe haber deshabilitado SSL (¿cumplimiento de PCI tal vez?) A favor de TLS. Si abre Configuración en IntelliJ o RubyMine y navega a Control de versiones> Git, verá que está usando un git.exe instalado en la ruta de la aplicación. Debe descargar la versión más actual de Git y cambiar la ruta en la configuración de VCS para que apunte a eso, por ejemplo, C: \ Archivos de programa \ Git \ bin \ git.exe si lo instala en Windows. Funciona de maravilla después de eso.

Dave Medlock
fuente
0

A veces, esto es causado por msysgit desactualizado que usa ssl antiguo y ya no se mantiene, puede instalar el último git para Windows y señalar la ruta git.exe en la configuración de tortuga, luego este problema desapareció.

Benny
fuente
0

Encontré un error similar. En Windows, git actualizado en Windows a la última versión. Eso solucionó el problema.

Olusola Omosola
fuente
¿Cómo agrega esto algo a la respuesta aceptada que sugiere actualizar git para solucionar el problema?
David
Expliqué lo que funcionó para mí. Similar a lo que hicieron algunos otros también.
Olusola Omosola
0

La actualización de la versión de Git me ayudó. Tenía la versión 1.9.5 y me actualicé a la 2.21.0 en Windows. Además, la actualización es muy fácil. No es necesario desinstalar la versión anterior. Descargue el último instalador de Git y simplemente continúe presionando siguiente usando las opciones predeterminadas y la versión se cambiará a la nueva versión y todas las configuraciones antiguas seguirán funcionando como claves ssh, etc. No es necesario generar las claves nuevamente y ponerlas github o cualquier otro repositorio.

Anteriormente, mi clonación del protocolo https no funcionaba y daba un error

fatal: no se puede acceder a ' https://github.com/tensorflow/models/ ': error: 1407742E: rutinas SSL: SSL23_GET_SERVER_HELLO: versión del protocolo de alerta tlsv1

Una vez que descargué la nueva versión y ejecuté el mismo comando de clonación, funcionó sin ningún problema.

AKumar
fuente