Git pull / push - impossible d'accéder à HTTPS, les routines SSL semblent être en panne

105

J'utilise Git (et GitHub) au quotidien et tout fonctionne bien et tout d'un coup, je ne peux plus communiquer avec mon dépôt GitHub distant via mes commandes Git. Lorsque j'essaye de "Git pull", cela donne l'erreur suivante:

fatal: impossible d'accéder à ' https://github.com/snahrvar/eatibl.git/ ': erreur: 1407742E: routines SSL: SSL23_GET_SERVER_HELLO: version du protocole d'alerte tlsv1

Donc, j'ai testé sur plusieurs référentiels et j'obtiens les mêmes erreurs sur mon ordinateur. J'ai demandé à quelqu'un d'autre d'interagir avec ces mêmes référentiels, et cela fonctionne très bien pour eux. Avant cette erreur, j'ai fait une "installation npm sharp" sur un projet et cela a échoué, et je soupçonne que cela peut avoir gâché certains paramètres SSL, mais c'est une supposition sauvage!

Toute réflexion ou orientation générale serait très appréciée!

Si cela est utile du tout, voici mon environnement:

  • Version Git: 1.9.4.msysgit.2
  • Version Windows: Windows 8.1
Shayan Nahrvar
la source
Même problème ici ?
LYES - CHIOUKH
Idem ici avec git 1.9.5.msysgit.1
Maxime Helen
Je rencontre le même problème
chasse cabrera
11
Je crois que ce changement est à l'origine de l'erreur: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H
J'ai eu le même problème et installé le bureau Github et tout fonctionnait bien!
Damian

Réponses:

69

La mise à jour de TortoiseGit et GCM ne m'a pas aidé, mais la mise à jour de Git elle-même l'a fait, selon les conseils de @ Frederic dans les commentaires.

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

Pour vous assurer que la nouvelle version de Git s'installe correctement et n'entre pas en conflit avec les installations précédentes (cela pourrait, si vous avez utilisé TortoiseGit, car il utiliserait différents dossiers et jouerait avec la variable PATH), supprimez l'installation Git existante avant d'installer le Git mis à jour . Peut également avoir besoin d'installer avec les droits d'administrateur

feos
la source
Je ne suis pas sûr de ce qui s'est passé avec la dernière version de git pour commencer à lancer ces erreurs aujourd'hui, mais cette réponse est pour moi. J'ai pris une nouvelle installation (version ancienne de 2 jours) et je suis de retour et n'exécute aucune erreur ssl. Parlez d'une aiguille dans la botte de foin.
JeffBaumgardt
3
La partie la plus intéressante est que github eux-mêmes ne le mentionnent pas, même si cela est probablement lié à leurs dernières mises à jour. Une recherche rapide sur Google concernant des problèmes similaires avec d'autres hébergements de code blâme OpenSSL.
feos
Oui, juste besoin de mettre à jour vers la dernière version! Merci: D
Shayan Nahrvar
1
@gath Vous avez probablement 2 installations incompatibles de git, essayez de désinstaller complètement l'existant, puis réinstallez git à partir de zéro. Mais votre erreur est différente. Stackoverflow.com/questions/3778042/…
feos
5
Pour moi, "supprimer l'installation de Git existante avant d'installer le Git mis à jour" était la clé de toute cette débâcle.
Richard Ockerby
20

Vous rencontrez probablement une incompatibilité avec la dépréciation de GitHub des protocoles de chiffrement SSL faibles:

Avis de suppression des normes cryptographiques faibles

La solution variera, mais pour Windows, vous devrez probablement mettre à niveau le gestionnaire d'informations d'identification Git vers la version 1.14.0

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

Anthony L
la source
1
Vont-ils continuer à prendre en charge le gestionnaire d'informations d'identification Git intégré pour Windows: wincred. J'obtiens la même erreur avec cet outil
Max Hartshorn
Cette réponse a aidé à fournir un contexte sur le changement, mais la solution de @feos est celle qui a fonctionné pour moi (Windows 10, TortoiseGit)
Eric Farraro
14

Si vous utilisez Android Studio ou IntelliJ IDEA, la mise à jour de Git vers la dernière version et la modification du chemin pour pointer vers la nouvelle version résolvent le problème pour moi.

Entrez la description de l'image ici

émerveillé
la source
1
Cela a également fonctionné pour moi: installez la dernière version de Git et pointez IntelliJ IDEA dessus.
user1825866
8

En utilisant TortoiseGit, j'ai fait tous les autres correctifs / mises à jour donnés pour cela et toujours sans succès. J'ai trouvé ceci: Je ne peux pas git pousser / tirer / récupérer soudainement

Mes paramètres TortoiseGit pour Git pour le chemin Windows Git.exe pointaient vers C:\Program Files (x86)\Git\bin. Je l'ai changé C:\Program Files\Git\binet maintenant il fonctionne à nouveau.

MJWitte
la source
3
Je l'ai vérifié en utilisant le Check nowbouton dans la Generalboîte de dialogue des paramètres, avec le x86chemin que j'ai obtenu git version 1.9.5.msysgit.1, après avoir changé pour C:\Program Files\Git\binobtenir git version 2.16.2.windows.1et avec ce chemin, tout fonctionne bien.
apdevelop
8

C'est ce qui a fonctionné pour moi.

  1. Installez la dernière version de Git à partir d'ici: https://git-scm.com/download/win
  2. Dans TortoiseGit, allez dans le menu ParamètresGénéralChemin Git.exe - changez le chemin de 32 bits à 64 bits: C: \ Program Files (x86) \ Git \ bin → C: \ Program Files \ Git \ bin
dgundersen
la source
Bon point. Si quelqu'un (comme moi) a utilisé l'ancienne version 32 bits de Windows, assurez-vous de la remplacer sur le PATH.
AG le
Cela m'a fait gagner du temps @dgundersen
Tejas Mehta
8

Mettre à jour Git n'était pas suffisant dans ma situation. Après un débogage pendant plusieurs heures, c'était ma solution:

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
la source
Cela a résolu le problème pour moi et sur une configuration complètement différente (Mac OS X). curlme donne toujours le message, ce qui me fait me demander s'il existe un paramètre comme celui-là qui convient à toutes les applications ssl, pas seulement git...
chesterbr
Laquelle de ces lignes?
Dmitri Zaitsev
2

J'ai eu ce même problème lors de l'extraction du code de GitHub sur mon terminal Visual Studio Code . J'ai trouvé les conseils des réponses précédentes utiles et j'ai piraté une solution ensemble en suivant les étapes ci-dessous:

Ce référentiel était très utile.

J'espère que ça aidera quelqu'un.

Bolu Ajibawo
la source
2

TL; DR: git config --system http.sslbackend schannelet désactivez les vérifications HTTPS github.comdans votre logiciel antivirus


J'utilise la ligne de commande Git sur Windows 8 x64. De plus, mon logiciel antivirus vérifie le trafic HTTPS par défaut. Comme d'autres personnes qui répondent à cette question, j'utilise GitHub presque quotidiennement.

  • Mettre à jour Git - n'a pas aidé - parce que j'ai utilisé OpenSSL (voir ci-dessous)
  • Mise à jour du gestionnaire d'informations d'identification - n'a pas aidé

Ensuite, j'ai commencé à jouer avec la commutation du backend SSL:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel et le logiciel antivirus vérifie le trafic SSL:

  1. Vérifications OpenSSL, HTTPS ON: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS vérifie OFF: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS vérifie ON: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS vérifie OFF: a bien fonctionné

PS: Au lieu de la ligne de commande, vous pouvez simplement réinstaller la dernière version de Git, en sélectionnant "Utiliser la bibliothèque de validation SSL native de Windows".

PPS: Le cas (3) semble être un bogue dans la bibliothèque schannel, car le certificat MITM que mon logiciel antivirus utilise est en liste blanche sur ma machine.

Mike Makarov
la source
Lors de la réinstallation de git, j'ai complètement supprimé son ancienne installation, et pour la nouvelle installation, j'ai choisi OpenSSL, donc je suppose qu'il l'a réinstallé à partir de zéro. Mais je n'ai pas d'antivirus. La réinstallation du backend SSL a-t-elle changé quelque chose pour vous ou vous ne l'avez pas fait?
feos
@feos Oui, cela ne fonctionne que pour moi en mode non-OpenSSL. De plus, j'ai dû désactiver les vérifications https dans AV.
Mike Makarov
Je ne sais toujours pas, avez-vous réinstallé SSL ou non?
feos
@feos Non, je ne l'ai pas fait. Je ne pense pas que l'on puisse "réinstaller SSL" sur Windows. Donc pas sûr de ce que vous entendez par là. Lorsque vous installez le dernier client git, vous avez la possibilité de choisir - le backend OpenSSL ou Windows intégré. J'ai choisi OpenSSL. Cela n'a pas fonctionné et j'ai changé le backend via la configuration. J'espère que cela clarifie.
Mike Makarov le
C'est le cas, merci. Je pense que vous aviez un problème complètement différent de celui du PO.
feos
1

Sur macOS, vous pouvez installer la dernière version gitvia Homebrew.

COMME
la source
Malheureusement, cela n'a pas fonctionné pour moi sur Mac OS X 10.7.5 (Lion) - a eu la même erreur. J'ai ensuite essayé d'installer à Homebrewpartir de zéro - cela semble être un catch22. 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, peut-être essayer de l'installer manuellement à partir de la page des versions alors? Ils semblent avoir abordé ce catch22 en 1.5.5
AS
1

Pareil pour moi avec Git 1.9.5.msysgit.1 aussi. J'ai essayé d'installer https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , mais aucun changement.

En fait, rien ne se passe après l'installation; peut-être que je fais quelque chose de mal? (Cela peut ne pas aider pour la question initiale, mais pour d'autres personnes, oui!)

Frédéric
la source
6
Juste pour aider la communauté, je viens de mettre à jour git (pour Windows) (avec git-scm.com/download/win ) et cela a résolu le problème!
Frederic
2
Sous Windows 7 Pro / 64, j'ai mis à niveau git en utilisant le lien le lien git-scm.com/download/win. Cela a installé git dans c: \ program files \ git plutôt que c: \ program files (x86) \ git. Ma version est passée de 1.9.5.msysgit.1 à 2.16.2.windows.1 et lorsque j'ai configuré WebStorm pour pointer vers la version la plus récente, le mystérieux 1407742E: routines SSL: SSL23_GET_SERVER_HELLO: erreur de version du protocole d'alerte tlsv1 a cessé.
CODE-REaD
FYI, ma configuration est: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
Vous devriez faire de votre encouragement pour mettre à jour une réponse.
Edward Thomson
1

Oui, j'ai rencontré le même problème sur une pull request aujourd'hui et la solution consistait simplement à mettre à jour Git en téléchargeant la dernière version 64 bits (2.16.2) de Git pour Windows. Il est sorti il ​​y a 5 jours, le 20/02/2018.

Thomas M
la source
1

Le commentaire de @andw a fonctionné pour moi:

Mettez à jour Git version 1.9.5 vers 2.15.1 en suivant ces étapes:

Dans sourceTree, allez dans le menu OutilsOptionsGitUtiliser Git intégré .

Impasse
la source
1

Une solution rapide serait git config --global http.sslVerify true , mais ce n'est pas recommandé car cela va à l'encontre de l'objectif en utilisant SSL.

Un deuxième et meilleur moyen consiste à utiliser des clés ssh plutôt qu'une URL SSL.

Étapes pour générer des clés SSH

o Exécutez la commande suivante dans un terminal Git (Git Bash): ssh-keygen

Après avoir exécuté la commande, le message suivant apparaîtra:

Génération d'une paire de clés RSA publique / privée.

Entrez le fichier dans lequel enregistrer la clé (/h//.ssh/id_rsa):

Indiquez le chemin de la clé à stocker, par exemple, entrez le fichier dans lequel enregistrer la clé (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Ensuite, donnez la phrase de passe pour cette clé (tout mot de passe de 8 caractères minimum)

• Exécutez ensuite la commande suivante: eval «$ (ssh-agent –s)»

• Exécutez la commande suivante: ssh-add C:/Users/Public/my-new-ssh-keyRemarque: utilisez une barre oblique dans le chemin d'accès à la clé SSH nouvellement créée.

Après cela, ajoutez le contenu du fichier my-new-ssh-key.pub et ajoutez-le dans la zone de texte pour Ajouter une clé publique (Bitbucket, GitHub, etc.)

Ankit Bhardwaj
la source
0

Lors de la connexion à un référentiel distant pour récupérer, extraire, pousser, etc., j'ai eu la même erreur:

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

Je viens de réinstaller Git 64 bits à la place de 32 bits et cela a résolu le problème.

Après l'installation, vérifiez le chemin Git dans les variables d'environnement. Ça devrait être:

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

Il s'agit d'un problème avec IntelliJ et RubyMine. GitHub doit avoir désactivé SSL (conformité PCI peut-être?) En faveur de TLS. Si vous ouvrez Paramètres dans IntelliJ ou RubyMine et accédez à Contrôle de version> Git, vous verrez qu'il utilise un git.exe installé sous le chemin de l'application. Vous devez télécharger la version la plus récente de Git et changer le chemin dans vos paramètres VCS pour qu'il pointe vers cela, par exemple C: \ Program Files \ Git \ bin \ git.exe si vous l'installez sous Windows. Fonctionne comme un charme après cela.

Dave Medlock
la source
0

Parfois, cela est dû à un msysgit obsolète qui utilise l'ancien ssl et qui n'est plus maintenu, vous pouvez installer le dernier git pour Windows et lui indiquer le chemin git.exe dans le paramètre tortoise, puis ce problème a disparu.

Benny
la source
0

Une erreur similaire a été rencontrée. Sous Windows, mise à jour de git sur Windows vers la dernière version. Cela a résolu le problème.

Olusola Omosola
la source
Comment cela ajoute-t-il quelque chose à la réponse acceptée qui suggère de mettre à jour git pour résoudre le problème?
David
J'ai expliqué ce qui fonctionnait pour moi. Semblable à ce que certains autres ont peut-être aussi fait.
Olusola Omosola
0

La mise à niveau de la version Git a fait l'affaire pour moi. J'avais la version 1.9.5 et ainsi de suite et je suis passé à 2.21.0 sous Windows. La mise à niveau est également très simple. Nous n'avons pas besoin de désinstaller l'ancienne version. Téléchargez le dernier programme d'installation de Git et continuez simplement à appuyer sur Suivant en utilisant les options par défaut et la version sera changée en nouvelle version et tous les anciens paramètres fonctionneront toujours comme les clés ssh, etc. Nous n'avons pas besoin de générer à nouveau les clés et de les mettre github ou tout autre référentiel.

Auparavant, mon clonage de protocole https ne fonctionnait pas et donnait une erreur

fatal: impossible d'accéder à ' https://github.com/tensorflow/models/ ': erreur: 1407742E: routines SSL: SSL23_GET_SERVER_HELLO: version du protocole d'alerte tlsv1

Une fois que j'ai téléchargé la nouvelle version et exécuté la même commande de clonage, cela a fonctionné sans aucun problème.

AKumar
la source