Git pull / push - não é possível acessar HTTPS, as rotinas SSL parecem estar inativas


105

Estou usando Git (e GitHub) diariamente e tudo está funcionando bem e, de repente, não consigo mais me comunicar com meu repositório GitHub remoto por meio de meus comandos Git. Quando tento "Git pull", ocorre o seguinte erro:

fatal: incapaz de acessar ' https://github.com/snahrvar/eatibl.git/ ': erro: 1407742E: Rotinas SSL: SSL23_GET_SERVER_HELLO: versão do protocolo de alerta tlsv1

Então, testei em vários repositórios e recebo os mesmos erros no meu computador. Outra pessoa interagiu com esses mesmos repositórios e funcionou bem para eles. Antes desse erro, eu fiz um "npm install sharp" em um projeto e acabou falhando, e eu suspeito que isso pode ter bagunçado algumas configurações de SSL, mas isso é um palpite!

Quaisquer pensamentos ou orientações gerais seriam muito apreciados!

Se for útil, aqui está meu ambiente:

  • Versão Git: 1.9.4.msysgit.2
  • Versão do Windows: Windows 8.1

O mesmo problema aqui ?
— LYES - CHIOUKH

O mesmo aqui com git 1.9.5.msysgit.1
— Maxime Helen

Estou tendo o mesmo problema
— chase cabrera

11
Acredito que essa alteração é o que causou o erro: github.com/blog/2507-weak-cryptographic-standards-removed
— Dan H

Eu tive o mesmo problema e instalei o desktop Github e tudo funcionou bem!
— Damian

Respostas:


69

Atualizar o TortoiseGit e o GCM não me ajudou, mas atualizar o Git sim, de acordo com o conselho de @Frederic nos comentários.

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

Para garantir que a nova versão do Git seja instalada corretamente e não entre em conflito com as instalações anteriores (poderia, se você usasse o TortoiseGit, porque usaria pastas diferentes e bagunçaria a variável PATH), remova a instalação existente do Git antes de instalar o Git atualizado . Também pode ser necessário instalar com direitos de administrador.


Não tenho certeza do que aconteceu com a última versão do git para começar a lançar esses erros hoje, mas esta resposta é para mim. Fiz uma nova instalação (compilação de 2 dias) e estou de volta, sem erros de SSL. Fale sobre uma agulha no palheiro.
— JeffBaumgardt

3
A parte mais interessante é que o próprio github não está mencionando isso, embora provavelmente esteja relacionado às atualizações recentes. A pesquisa rápida no Google a respeito de problemas semelhantes com outras hospedagens de código culpa o OpenSSL.
— feos

Sim, só precisava atualizar para a versão mais recente! Obrigado: D
— Shayan Nahrvar

1
@gath Você provavelmente tem 2 instalações incompatíveis do git, tente desinstalar a existente completamente e, em seguida, reinstale o git do zero. Mas seu erro é diferente stackoverflow.com/questions/3778042/…
— feos

5
Para mim, "remova a instalação Git existente antes de instalar o Git atualizado" foi a chave para todo esse desastre.
— Richard Ockerby

20

Você provavelmente está enfrentando uma incompatibilidade com a suspensão do GitHub de protocolos de criptografia SSL fracos:

Aviso de remoção de padrões criptográficos fracos

A solução pode variar, mas para Windows você provavelmente precisará atualizar o gerenciador de credenciais Git para 1.14.0

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


1
Eles continuarão a oferecer suporte ao gerenciador de credenciais Git integrado para windows: wincred. Estou recebendo o mesmo erro com essa ferramenta
— Max Hartshorn

Essa resposta ajudou a contextualizar a mudança, mas a solução de @feos é a que funcionou para mim (Windows 10, TortoiseGit)
— Eric Farraro

14

Se você estiver usando o Android Studio ou IntelliJ IDEA, atualizar o Git para a versão mais recente e alterar o caminho para apontar para a nova versão resolve o problema para mim.

Insira a descrição da imagem aqui


1
Isso também funcionou para mim: instale a versão mais recente do Git e indique o IntelliJ IDEA.
— user1825866

8

Usando TortoiseGit, fiz todas as outras correções / atualizações fornecidas para isso e ainda sem sucesso. Eu encontrei o seguinte: não consigo empurrar / puxar / buscar de repente

Minhas configurações do TortoiseGit para Git para Windows O caminho Git.exe estava apontando C:\Program Files (x86)\Git\bin. Mudei para C:\Program Files\Git\bine agora está funcionando novamente.


3
Eu verifiquei usando o Check nowbotão na Generalcaixa de diálogo de configurações, com o x86caminho que obtive git version 1.9.5.msysgit.1, depois de mudar para C:\Program Files\Git\binEu obtive git version 2.16.2.windows.1e com esse caminho tudo funciona bem.
— apdevelop

8

Isto é o que funcionou para mim.

  1. Instale a versão mais recente do Git aqui: https://git-scm.com/download/win
  2. No TortoiseGit, vá para o menu Configurações → Geral → Caminho Git.exe - mude de caminho de 32 bits para 64 bits: C: \ Arquivos de programas (x86) \ Git \ bin → C: \ Arquivos de programas \ Git \ bin

Bom ponto. Se alguém (como eu) estiver usando a versão antiga do Windows de 32 bits, substitua-a no PATH.
— AG

Isso economizou meu tempo @dgundersen
— Tejas Mehta

8

Atualizar o Git não era suficiente na minha situação. Depois de depurar por várias horas, esta foi minha solução:

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

Isso resolveu o problema para mim e em uma configuração completamente diferente (Mac OS X). curlainda me dá a mensagem, o que me faz pensar se existe uma configuração como essa que vale para todos os aplicativos SSL, não apenas git...
— chesterbr

Qual dessas linhas?
— Dmitri Zaitsev,

2

Eu tive o mesmo problema ao extrair código do GitHub em meu terminal de código do Visual Studio . Achei o conselho nas respostas anteriores útil e hackeei uma solução seguindo as etapas abaixo:

Este repositório foi bastante útil.

Espero que isso ajude alguém.


2

TL; DR: git config --system http.sslbackend schannele desative as verificações de HTTPS github.comem seu software antivírus


Estou usando a linha de comando Git no Windows 8 x64. Além disso, meu software antivírus verifica o tráfego HTTPS por padrão. Como outras pessoas ao responder a essa pergunta, eu uso o GitHub quase diariamente.

  • Atualizar o Git - não ajudou - porque usei OpenSSL (veja abaixo)
  • Atualizar o gerenciador de credenciais - não ajudou

Então comecei a brincar com a troca de back-end SSL:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel e o software antivírus verifica o tráfego SSL:

  1. OpenSSL, HTTPS verifica em: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS verifica OFF: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS verifica ATIVADO: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS verifica DESATIVADO: funcionou bem

PS: Em vez da linha de comando, você pode simplesmente reinstalar o Git mais recente, selecionando "Usar biblioteca de validação SSL nativa do Windows".

PPS: O caso (3) parece ser um bug na biblioteca do schannel, porque o certificado MITM que meu software antivírus usa está na lista de permissões da minha máquina.


Ao reinstalar o git, removi completamente a instalação antiga e, para a nova instalação, escolhi o OpenSSL, então acho que reinstalou do zero. Mas não tenho antivírus. A reinstalação do back-end SSL mudou alguma coisa para você ou não foi você?
— feos

@feos Sim, só funciona para mim no modo não OpenSSL. Além disso, tive que desligar as verificações de https no AV.
— Mike Makarov

Ainda não está claro para mim, você reinstalou o SSL ou não?
— feos

@feos Não, não fiz. Não creio que se possa "reinstalar o SSL" no Windows. Portanto, não tenho certeza do que você quer dizer com isso. Ao instalar o cliente git mais recente, você tem a opção de escolher - back-end OpenSSL ou integrado ao Windows. Eu escolhi OpenSSL. Isso não funcionou e eu mudei o back-end por meio da configuração. Espero que isso esclareça.
— Mike Makarov

Sim, obrigado. Acho que você estava tendo um problema totalmente diferente do OP.
— feos

1

No macOS, você pode instalar o mais recente gitvia Homebrew.


Infelizmente, isso não funcionou para mim no Mac OS X 10.7.5 (Lion) - recebi o mesmo erro. Tentei então instalar Homebrewdo zero - parece ser um problema22. 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, Bem, pode ser tentar instalá-lo manualmente a partir da página de lançamentos então? Eles parecem ter abordado esse problema 22 em 1.5.5
— AS

1

O mesmo para mim com Git 1.9.5.msysgit.1 também. Tentei instalar https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , mas nenhuma alteração.

Na verdade, nada acontece após a instalação; talvez eu esteja fazendo algo errado? (Isso pode não ajudar para a pergunta inicial, mas para outras pessoas, sim!)


6
Só para ajudar a comunidade, acabei de atualizar o git (para windows) (com git-scm.com/download/win ) e ele resolveu o problema!
— Frederic

2
No Windows 7 Pro / 64, eu atualizei o git usando o link git-scm.com/download/win. Este git foi instalado em c: \ program files \ git em vez de c: \ program files (x86) \ git. Minha versão mudou de 1.9.5.msysgit.1 para 2.16.2.windows.1 e quando configurei WebStorm para apontar para a versão mais recente, o misterioso 1407742E: Rotinas SSL: SSL23_GET_SERVER_HELLO: erro de versão do protocolo de alerta tlsv1 cessou.
— CODE-REaD

Para sua informação, minha configuração é: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
— CODE-REaD

Você deve fazer o seu incentivo para atualizar uma resposta.
— Edward Thomson

1

Sim, encontrei o mesmo problema em uma solicitação de pull hoje e a solução foi simplesmente atualizar o Git baixando a versão mais recente (2.16.2) de 64 bits do Git para Windows. Foi lançado há 5 dias, em 20/02/2018.


1

O comentário de @andw funcionou para mim:

Atualize a versão 1.9.5 do Git para 2.15.1 usando estas etapas:

Em sourceTree, vá para o menu Ferramentas → Opções → Git → Usar Git incorporado .


1

Uma solução rápida seria git config --global http.sslVerify true , mas não é recomendado, pois invalida o propósito de usar SSL.

Uma segunda e melhor maneira é usar chaves ssh em vez de uma URL SSL.

Etapas para gerar chaves SSH

o Execute o seguinte comando em um terminal Git (Git Bash): ssh-keygen

Depois de executar o comando, a seguinte mensagem aparecerá:

Gerando par de chaves RSA públicas / privadas.

Insira o arquivo no qual salvar a chave (/h//.ssh/id_rsa):

Forneça o caminho para a chave a ser armazenada, por exemplo, insira o arquivo no qual deseja salvar a chave (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Em seguida, forneça a senha para essa chave (qualquer senha de no mínimo 8 caracteres)

• Em seguida, execute o seguinte comando: eval “$ (ssh-agent –s)”

• Execute o seguinte comando: ssh-add C:/Users/Public/my-new-ssh-keyObservação: use uma barra no caminho para a chave SSH recém-criada.

Depois disso, adicione o conteúdo do arquivo my-new-ssh-key.pub e adicione-o na área de texto para Adicionar chave pública (Bitbucket, GitHub, etc.)


0

Ao me conectar a um repositório remoto para buscar, puxar, enviar etc., tive o mesmo erro:

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

Acabei de reinstalar o Git de 64 bits no lugar do de 32 bits e isso resolveu o problema.

Após a instalação, verifique o caminho Git nas variáveis ​​de ambiente. Deveria ser:

C:\Program Files\Git\bin\git.exe

0

Este é um problema com IntelliJ e RubyMine. O GitHub deve ter desabilitado SSL (conformidade com PCI, talvez?) Em favor do TLS. Se você abrir Configurações no IntelliJ ou RubyMine e navegar até Controle de versão> Git, verá que ele está usando um git.exe instalado no caminho do aplicativo. Você deve baixar a versão mais atual do Git e alterar o caminho nas configurações do VCS para apontar para isso, por exemplo, C: \ Arquivos de Programas \ Git \ bin \ git.exe se instalá-lo no Windows. Funciona como um encanto depois disso.


0

Às vezes, isso é causado por msysgit desatualizado que está usando SSL antigo e não é mais mantido, você pode instalar o git mais recente para Windows e apontar o caminho git.exe na configuração tartaruga para ele, então este problema desapareceu.


0

Encontrou um erro semelhante. No windows, git atualizado no windows para a versão mais recente. Isso resolveu o problema.


Como isso adiciona algo à resposta aceita que sugere a atualização do git para corrigir o problema?
— David

Eu expliquei o que funcionou para mim. Semelhante ao que alguns outros também fizeram.
— Olusola Omosola

0

A atualização da versão Git funcionou para mim. Eu tinha a versão 1.9.5 e então atualizei para a 2.21.0 no windows. Atualizar também é muito fácil. Não precisamos desinstalar a versão anterior. Baixe o instalador Git mais recente e continue pressionando próximo usando as opções padrão e a versão será alterada para a nova versão e todas as configurações antigas ainda funcionarão como chaves ssh etc. Não precisamos gerar as chaves novamente e colocá-las github ou qualquer outro repositório.

Anteriormente, minha clonagem de protocolo https não estava funcionando e dando erro

fatal: não foi possível acessar ' https://github.com/tensorflow/models/ ': erro: 1407742E: Rotinas SSL: SSL23_GET_SERVER_HELLO: versão do protocolo de alerta tlsv1

Depois de baixar a nova versão e executar o mesmo comando clone, ele funcionou sem problemas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.