web-dev-qa-db-fra.com

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

J'utilise Git (et GitHub) tous les jours et tout fonctionne correctement. Tout à coup, je ne peux plus communiquer avec mon référentiel GitHub distant via mes commandes Git. Quand j'essaye de "tirer", ça donne l'erreur suivante:

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

J'ai donc testé sur plusieurs référentiels et j'obtiens les mêmes erreurs sur mon ordinateur. J'ai eu quelqu'un d'autre interagir avec ces mêmes référentiels, et cela fonctionne très bien pour eux. Avant cette erreur, j’avais réalisé une "installation npm nette" sur un projet et cela a échoué, et je suppose que cela a peut-être gâché certains paramètres SSL, mais c’est une folie!

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

Si cela peut vous aider, voici mon environnement:

  • Version Git: 1.9.4.msysgit.2
  • Version de Windows: Windows 8.1
97
Shayan Nahrvar

La mise à jour de TortoiseGit et de GCM ne m'a pas aidé, mais la mise à jour de Git elle-même l'a été, conformément aux 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’est pas en conflit avec les installations précédentes (vous pourriez, si vous utilisiez TortoiseGit, utiliser des dossiers différents et modifier la variable PATH), supprimez l’installation existante de Git avant d’installer la version mise à jour . Peut également avoir besoin d'installer avec des droits d'administrateur.

62
feos

Il est probable que vous rencontriez une incompatibilité avec la dépréciation par GitHub des protocoles de cryptage SSL faibles:

Avis de suppression de normes cryptographiques faible

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

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

18
Anthony L

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

 Enter image description here

13
humazed

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/chercher tout à coup 

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

8
MJWitte

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 au menu ParamètresGénéralGit.exe Chemin - changez le chemin 32 bits en 64 bits:\Git\bin → C:\Program Files\Git\bin
6
dgundersen

Mettre à jour Git n'était pas suffisant dans ma situation. Après plusieurs heures de débogage, voici 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
6
Raymond van Rijs

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

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

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

2
Bolu Ajibawo

Le commentaire de @andw a fonctionné pour moi:

Mettez à jour Git version 1.9.5 à 2.15.1 en procédant comme suit:

Dans sourceTree, allez dans menu Outils Options Git Utilisez Embedded Git .

1
Dead End

Sur macOS, vous pouvez installer la dernière git via Homebrew.

1
A S

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 ne vous aidera peut-être pas pour la question initiale, mais pour d'autres personnes, oui!)

1
Frederic

Une solution rapide serait git config --global http.sslVerify true , mais ce n’est pas recommandé, car cela irait à l’encontre de l’utilisation de SSL.

Un deuxième et meilleur moyen consiste à utiliser des clés ssh plutôt qu'une adresse 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 d'accès à la clé, par exemple, entrez le fichier dans lequel vous souhaitez enregistrer la clé (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Puis donnez le mot de passe pour cette clé (n'importe quel 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-key Remarque: utilisez la barre oblique dans le chemin d'accès à la nouvelle clé SSH.

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.).

1
ankit bhardwaj

TL; DR: git config --system http.sslbackend schannel et désactiver les vérifications HTTPS pour github.com dans votre logiciel antivirus


J'utilise la ligne de commande Git sous Windows 8 x64. En outre, 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.

  • Mise à jour de Git - n'a pas aidé - car j'ai utilisé OpenSSL (voir ci-dessous)
  • Mise à jour du gestionnaire des 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. OpenSSL, HTTPS vérifie 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 si: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, contrôles HTTPS OFF: a bien fonctionné

P.S .: Au lieu de ligne de commande, vous pouvez simplement réinstaller le dernier Git, en sélectionnant "Utiliser la bibliothèque de validation SSL Windows native". 

P.P.S .: Le cas (3) semble être un bogue de la bibliothèque schannel, car le certificat MITM utilisé par mon logiciel antivirus figure sur la liste blanche de ma machine.

1
Mike Makarov

Oui, j'ai rencontré le même problème aujourd'hui lors d'une demande d'extraction et la solution consistait simplement à mettre à jour Git en téléchargeant la dernière version (2.16.2) 64 bits de Git pour Windows. Il a été publié il y a 5 jours, le 2018-02-20.

1
Thomas M

La mise à niveau de la version de Git a fait l'affaire J'ai eu la version 1.9.5 et donc et je suis passé à 2.21.0 sur Windows. La mise à niveau est également très facile. Nous n'avons pas besoin de désinstaller l'ancienne version. Téléchargez le dernier programme d’installation de Git et continuez à appuyer sur suivant avec les options par défaut. La version sera remplacée par la nouvelle version et tous les anciens paramètres fonctionneront toujours comme des clés ssh, etc. Nous n’avons pas besoin de générer les clés à nouveau et de les mettre github ou tout autre dépôt.

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 problème.

0
AKumar

Ceci est 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 modifier le chemin dans vos paramètres VCS afin de le désigner, par exemple. C:\Program Files\Git\bin\git.exe si vous l’installez sous Windows. Fonctionne comme un charme après cela.

0
Dave Medlock

A rencontré une erreur similaire. Sous windows, Mise à jour de git sous windows vers la dernière version . Cela a résolu le problème.

0
Olusola Omosola

Lors de la connexion à un référentiel distant pour chercher, tirer, pousser, etc., j'avais 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. CA devrait etre:

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

Parfois, cela est dû à un msysgit obsolète qui utilise un ancien ssl et n’est plus maintenu, vous pouvez installer le dernier git pour windows , et pointer le chemin git.exe dans le paramètre tortoise, puis résoudre le problème.

0
Benny