Lorsque j'essaie de tirer de notre serveur git, j'obtiens cette erreur:
fatal: impossible d'accéder à 'xxx': OpenSSL SSL_connect: SSL_ERROR_SYSCALL en connexion avec xxx
Lorsque cela s'est produit avant d'avoir pu le résoudre en restaurant simplement le système, mais cette fois, les points de restauration de mon système ont été supprimés pour une raison quelconque, et je ne peux pas le faire non plus.
Cela se produit donc parce que quelque chose dans mes paramètres système est lié aux modifications SSL et je ne sais pas pourquoi.
J'ai essayé d'installer git pour utiliser le certificat Windows. stocker au lieu d'OpenSSL et j'ai eu cette erreur:
fatal: impossible d'accéder à "xxx": canal: échec de la réception de la négociation, échec de la connexion SSL/TLS
Même problème, message d'erreur différent. Le serveur n'envoie pas de message de bienvenue après le message de bienvenue du client. J'ai pensé que cela pourrait se produire car aucune des suites de chiffrement que j'envoie au serveur dans le message bonjour du client n'est prise en charge par le serveur. J'ai donc essayé configuration d'une stratégie de groupe et mis en ordre la suite de chiffrement que le serveur utilise. Mais cela n'a fait aucune différence.
Je peux connecter le site du serveur git via le navigateur. Donc ma question est, que puis-je faire pour résoudre ce problème?
Dans mon cas, j'ai changé le .gitconfig de
[http] sslbackend = schannel
à
[http] sslbackend = openssl
Vous devriez réessayer, pour les tests, avec le Git pour Windows version 2.14.2 (21 juin 2018) , qui ajoute du code pour forcer l'ignorance http.sslCAinfo
lorsque le ssl backenis set to
schannel` (pour que le magasin de certificats Windows ne soit pas ignoré).
Ceci n'est vraiment pertinent que lors de l'exécution avec cURL v7.60.0 (ou version ultérieure).
Voir commit c5ad43e :
http
: lorsque vous utilisez Secure Channel, ignorezsslCAInfo
par défautDepuis cURL v7.60.0, le backend Secure Channel peut utiliser le paquet de certificats fourni via
http.sslCAInfo
, mais cela remplacerait le magasin de certificats Windows. Comme cela n'est pas souhaitable par défaut, disons à Git de ne pas demander à cURL d'utiliser ce bundle par défaut lorsque le backendschannel
a été configuré viahttp.sslBackend
, sauf siuseSSLCAInfo
remplace ce comportement.
J'ai eu le même problème (Windows 10) et un redémarrage a résolu le problème.
Une solution "faible" consiste à définir GIT_SSL_NO_VERIFY
:
export GIT_SSL_NO_VERIFY=true
Ou sous Windows, définissez la variable d'environnement, soit dans le système, soit sur la ligne de commande si vous utilisez une version en ligne de commande de Git:
set GIT_SSL_NO_VERIFY=true
Il fera simplement ce qu'il dit ...