Потяг / натискання git - неможливо отримати доступ до HTTPS, SSL-процедури, здається, не працюють


105

Я використовую Git (і GitHub) щодня, і все працює нормально, і раптом я більше не можу спілкуватися зі своїм віддаленим сховищем GitHub через мої команди Git. Коли я намагаюся "Git pull", вона видає таку помилку:

фатально: не вдається отримати доступ до " https://github.com/snahrvar/eatibl.git/ ": помилка: 1407742E: Підпрограми SSL: SSL23_GET_SERVER_HELLO: версія протоколу попередження оповіщення tlsv1

Отже, я протестував у кількох сховищах, і я отримую однакові помилки на своєму комп’ютері. У мене хтось інший взаємодів із тими ж сховищами, і це чудово працює для них. Перед цією помилкою я зробив "npm встановлення гострого" на проекті, і це закінчилося невдачею, і я підозрюю, що це, можливо, зіпсувалося з деякими налаштуваннями SSL, але це дика здогадка!

Будь-які загальні думки чи настанови були б дуже вдячні!

Якщо це взагалі корисно, ось моє оточення:

  • Версія Git: 1.9.4.msysgit.2
  • Версія Windows: Windows 8.1

Така ж проблема тут ?
ЛАЙСИ - ЧІОУХ

Те саме тут з git 1.9.5.msysgit.1
Maxime Helen

Я відчуваю ту саму проблему
погоню за кабрерою

11
Я вважаю, що саме ці зміни спричинили помилку: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H

У мене була та сама проблема, і встановив робочий стіл Github, і все працювало нормально!
Даміан

Відповіді:


69

Оновлення TortoiseGit та GCM не допомогло мені, але оновлення самого Git зробило, як це відповідає рекомендаціям @ Frederic у коментарях.

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

Щоб переконатися, що нова версія Git встановлюється належним чином і не конфліктує з попередніми установками (можливо, якщо ви використовували TortoiseGit's, оскільки вона використовувала б різні папки та безлад зі змінною PATH), видаліть існуючу установку Git перед встановленням оновленого Git . Можливо, також потрібно встановити права адміністратора.


Я не впевнений, що сталося з останньою версією git, щоб почати кидати ці помилки сьогодні, але ця відповідь - це для мене. Я взяв нову установку (2-денна збірка), і я створюю резервну копію і не запускаю помилок ssl. Поговоріть про голку в копиці сіна.
JeffBaumgardt

3
Найцікавіша частина полягає в тому, що самі github про це не згадують, хоча це, мабуть, пов'язане з останніми оновленнями. Швидкий пошук Google щодо подібних проблем з іншими хостингами коду звинувачує OpenSSL.
феос

Так, просто потрібно було оновити до останньої версії! Спасибі: D
Шаян Нахварр

1
@gath Напевно у вас є 2 несумісні установки git, спробуйте видалити існуючу повністю, а потім перевстановіть git з нуля. Але ваша помилка інший один stackoverflow.com/questions/3778042 / ...
Feos

5
Для мене "видалити існуючу установку Git до встановлення оновленого Git" було ключем до всього цього дебале.
Річард Окербі

20

Ви, ймовірно, стикаєтеся з несумісністю зі знеціненням GitHub слабких протоколів шифрування SSL:

Повідомлення про видалення слабких криптографічних стандартів

Рішення буде різним, але для Windows вам, ймовірно, потрібно оновити менеджер облікових даних Git до 1.14.0

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


1
Чи надалі вони підтримуватимуть вбудований менеджер облікових даних Git для windows: wincred. Я отримую ту саму помилку з цим інструментом
Макс Хартсхорн,

Ця відповідь допомогла дати контекст щодо змін, але рішення від @feos - це те, що працювало на мене (Windows 10, TortoiseGit)
Ерік Фарраро

14

Якщо ви користуєтесь Android Studio або IntelliJ IDEA, оновлення Git до останньої версії та зміна шляху на вказівку на нову версію вирішують проблему для мене.

Введіть тут опис зображення


1
Це також працювало для мене: встановіть останню версію Git та вкажіть на неї IntelliJ IDEA.
користувач1825866

8

Використовуючи TortoiseGit, я зробив усі інші виправлення / оновлення, надані для цього, і досі не мав успіху. Я виявив це: не можна раптово натискати / тягнути / витягувати

Мої налаштування TortoiseGit для Git для Windows Git.exe вказували шлях C:\Program Files (x86)\Git\bin. Я змінив його C:\Program Files\Git\binі тепер він працює знову.


3
Я перевірив це за допомогою Check nowкнопки в Generalдіалоговому вікні налаштувань, з отриманим x86шляхом git version 1.9.5.msysgit.1, після зміни на « C:\Program Files\Git\binЯ отримаю», git version 2.16.2.windows.1і з цим шляхом все працює добре.
apdevelop

8

Це те, що працювало для мене.

  1. Встановіть останню версію Git звідси: https://git-scm.com/download/win
  2. У TortoiseGit перейдіть до меню НалаштуванняЗагальнеШлях Git.exe - змініть його з 32-бітного на 64-бітний шлях: C: \ Program Files (x86) \ Git \ bin → C: \ Program Files \ Git \ bin

Гарна думка. Якщо хтось (як я) використовував стару 32-бітну версію Windows, не забудьте замінити її на PATH.
AG

Це врятувало мій час @dgundersen
Мехта

8

Оновлення Git було недостатньо в моїй ситуації. Після налагодження протягом декількох годин, це моє виправлення:

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

Це вирішило проблему як для мене, так і для зовсім іншого налаштування (Mac OS X). curlвсе ще передає мені повідомлення, що змушує мене замислитися, чи є така настройка, яка стосується всіх ssl-додатків, а не лише git...
chesterbr

Який із цих рядків?
Дмитро Зайцев

2

У мене була ця сама проблема під час перетягування коду з GitHub на моєму терміналі Visual Studio Code . Я знайшов поради в попередніх відповідях корисними і разом зламав рішення, виконуючи наведені нижче дії:

Це сховище було досить корисним.

Я сподіваюся, що це комусь допоможе.


2

TL; DR: git config --system http.sslbackend schannelі вимкніть перевірки HTTPS на github.comантивірусне програмне забезпечення


Я використовую командний рядок Git у Windows 8 x64. Крім того, моє антивірусне програмне забезпечення за замовчуванням перевіряє трафік HTTPS . Як і інші люди, відповідаючи на це питання, я використовую GitHub майже щодня.

  • Оновлення Git - не допомогло - тому що я використовував OpenSSL (див. Нижче)
  • Оновлення менеджера облікових даних - не допомогло

Тоді я почав грати з переключенням бекенда SSL:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel і перевірка антивірусного програмного забезпечення на наявність трафіку SSL:

  1. OpenSSL і HTTPS перевіряє: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL і HTTPS перевіряє: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS перевіряє: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS перевіряє OFF: добре працював

PS: Замість командного рядка ви можете просто встановити останню версію Git, вибравши "Використовувати рідну бібліотеку перевірки SSL Windows".

PPS: Випадок (3) здається помилкою в бібліотеці schannel, оскільки сертифікат MITM, який використовує моє антивірусне програмне забезпечення, міститься у списку моєї машини.


Перевстановивши git, я повністю видалив його стару установку, а для нової інсталяції я вибрав OpenSSL, тому, мабуть, він її перевстановив з нуля. Але у мене немає антивірусу. Чи перевстановлення бекенда SSL змінило щось для вас, чи ви цього не зробили?
феос

@feos Так, він працює для мене лише в режимі, що не є OpenSSL. Плюс мені довелося вимкнути https-чеки в AV.
Майк Макаров

Мені поки незрозуміло, ви перевстановили SSL чи ні?
феос

@feos Ні, я цього не зробив. Я не думаю, що можна перевстановити SSL у Windows. Тож не впевнений, що ти маєш на увазі під цим. Коли ви встановлюєте останній клієнт git, у вас є можливість вибрати - бекенд OpenSSL або інтегрований Windows. Я вибрав OpenSSL. Це не спрацювало, і я змінив допоміжний конфігурацію. Сподіваюсь, це прояснює.
Майк Макаров

Так, дякую. Я думаю, у вас виникли зовсім інші проблеми, ніж з ОП.
феос

1

На macOS можна встановити останню версію gitчерез Homebrew.


На жаль, це не спрацювало для мене на Mac OS X 10.7.5 (Lion) - отримала таку ж помилку. Потім я спробував встановити Homebrewз нуля - це, здається, є уловом22. 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, Ну, може, спробуйте встановити його вручну зі сторінки випусків? Вони, здається, вирішили цей підйом22 в 1.5.5
AS

1

Те саме для мене і з Git 1.9.5.msysgit.1. Я спробував встановити https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , але жодних змін.

Насправді нічого не відбувається після встановлення; може, я роблю щось не так? (Це може не допомогти для початкового питання, але для інших людей так!)


6
Просто для допомоги громаді, я щойно оновив git (для windows) (з git-scm.com/download/win ), і це вирішило проблему!
Фредерік

2
У Windows 7 Pro / 64 я оновив git, використовуючи посилання git-scm.com/download/win. Для цього встановлено git до c: \ program files \ git, а не c: \ program files (x86) \ git. Моя версія змінилася з 1.9.5.msysgit.1 на 2.16.2.Windows.1, і коли я налаштував WebStorm, щоб вказати на більш нову версію, загадкова 1407742E: Підпрограми SSL: SSL23_GET_SERVER_HELLO: tlsv1 повідомлення про помилку версії протоколу попередження .
CODE-READ

FYI, моя установка: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

Слід заохотити покращити відповідь.
Едвард Томсон

1

Так, я зіткнувся з тією ж проблемою під час запиту на виклик, і рішенням було просто оновити Git, завантаживши останню (2.16.2) 64-бітну версію Git для Windows. Його випустили 5 днів тому, 2018-02-20.


1

Коментар @andw працював на мене:

Оновіть Git версії 1.9.5 до 2.15.1, використовуючи наступні кроки:

У sourceTree перейдіть до меню ІнструментиОпціїGitВикористовувати Embedded Git .


1

Швидким рішенням буде git config --global http.sslПідтвердити істину , але це не рекомендується, оскільки воно перемагає мету за допомогою SSL.

Другий і кращий спосіб - використовувати ключі ssh, а не SSL URL.

Кроки для створення ключів SSH

o Запустіть таку команду в терміналі Git (Git Bash): ssh-keygen

Після запуску команди з'явиться таке повідомлення:

Створення публічної / приватної пари ключів RSA.

Введіть файл, у якому потрібно зберегти ключ (/h//.ssh/id_rsa):

Дайте шлях для ключа, який слід зберігати, наприклад, введіть файл, у якому потрібно зберегти ключ (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Потім введіть пароль для цього ключа (будь-який пароль мінімум 8 символів)

• Далі виконайте таку команду: eval "$ (ssh-agent –s)"

• Виконайте таку команду: ssh-add C:/Users/Public/my-new-ssh-key Примітка: використовуйте косу рису вперед до новоствореного ключа SSH.

Після цього додайте вміст файла my-new-ssh-key.pub та додайте його в текстову область для Додати відкритий ключ (Bitbucket, GitHub тощо)


0

Під час підключення до віддаленого сховища, щоб отримати, витягнути, натиснути тощо, у мене була така ж помилка:

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

Я щойно перевстановив Git 64-бітний замість 32-розрядного і це вирішило проблему.

Після установки перевірте шлях Git у змінних середовища. Вона повинна бути:

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

0

Це проблема з IntelliJ та RubyMine. GitHub повинен відключити SSL (можливо, відповідність PCI?) На користь TLS. Якщо ви відкриєте «Налаштування» в IntelliJ або RubyMine та перейдете до «Версія управління»> «Git», ви побачите, що він використовує git.exe, встановлений під шлях програми. Вам слід завантажити найновішу версію Git і змінити шлях у налаштуваннях VCS, щоб вказати на це, наприклад, C: \ Program Files \ Git \ bin \ git.exe, якщо встановити її в Windows. Діє як шарм після цього.


0

Іноді це викликано застарілим msysgit, який використовує старий ssl і більше не підтримується, ви можете встановити останню git для Windows і вказати шлях git.exe в налаштуваннях черепахи, тоді ця проблема відпала.


0

Зустріли аналогічну помилку. У Windows оновлено git на Windows до останньої версії. Це вирішило проблему.


Як це додає що-небудь до прийнятої відповіді, яка пропонує оновити git для вирішення проблеми?
Девід

Я пояснив, що працювало на мене. Схоже на те, що робили деякі інші.
Олусола Омосола

0

Оновлення версії Git зробило для мене трюк. У мене була версія 1.9.5 і так, і я модернізував до 2.21.0 на Windows. Також модернізація дуже проста. Нам не потрібно видаляти старішу версію. Завантажте найновіший інсталятор Git і просто продовжуйте натискати на наступний, використовуючи параметри за замовчуванням, і версія буде змінена на нову версію, і всі старі налаштування все ще працюватимуть як клавіші ssh тощо. github або будь-яке інше сховище.

Раніше клонування мого протоколу https не працювало, а помилка давалась

фатально: не вдається отримати доступ до " https://github.com/tensorflow/models/ ": помилка: 1407742E: Підпрограми SSL: SSL23_GET_SERVER_HELLO: версія протоколу попередження tlsv1

Одного разу я завантажив нову версію і запустив ту саму команду-клонінг, вона працювала без жодних проблем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.