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
Shayan Nahrvar
fonte
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.

Feos
fonte
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

Anthony L
fonte
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

humazed
fonte
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.

MJWitte
fonte
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çõesGeralCaminho Git.exe - mude de caminho de 32 bits para 64 bits: C: \ Arquivos de programas (x86) \ Git \ bin → C: \ Arquivos de programas \ Git \ bin
Dgundersen
fonte
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
Raymond van Rijs
fonte
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.

Bolu Ajibawo
fonte
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.

Mike Makarov
fonte
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.

COMO
fonte
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!)

Frederic
fonte
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.

Thomas M
fonte
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 FerramentasOpçõesGitUsar Git incorporado .

Fim da linha
fonte
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.)

ankit bhardwaj
fonte
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
Pratap Singh
fonte
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.

Dave Medlock
fonte
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.

Benny
fonte
0

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

Olusola Omosola
fonte
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.

AKumar
fonte