Git pull/push - невозможно получить доступ к HTTPS, процедуры SSL, похоже, не работают

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

fatal: невозможно получить доступ к https://github.com/snahrvar/eatibl.git/ ': Ошибка: 1407742E: Подпрограммы SSL: SSL23_GET_SERVER_HELLO: предупреждение tlsv1 версия протокола

Итак, я тестировал несколько репозиториев, и я получаю те же ошибки на своем компьютере. У меня был кто-то другой, взаимодействующий с теми же репозиториями, и он отлично подходит для них. Перед этой ошибкой я сделал "npm install sharp" в проекте, и это закончилось неудачей, и я подозреваю, что это, возможно, испортило некоторые настройки SSL, но это дикое предположение!

Любые общие мысли или рекомендации будут высоко оценены!

Если это вообще полезно, вот моя среда:

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

Ответ 1

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

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

Чтобы убедиться, что новая версия Git установлена ​​правильно и не конфликтует с предыдущими установками (возможно, если вы использовали TortoiseGit, потому что она будет использовать разные папки и беспорядок с переменной PATH), удалите существующий Git перед установкой обновленного Git. Также возможно установить с правами администратора.

Ответ 2

Вероятно, вы столкнулись с несовместимостью с GitHub устареванием слабых протоколов SSL-шифрования:

Уведомление об устранении слабых криптографических стандартов

Решение будет отличаться, но для Windows вам, скорее всего, потребуется обновить менеджер учетных данных Git до версии 1.14.0

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

Ответ 3

Если вы используете Android Studio или IntelliJ IDEA, обновите Git до последнюю версию и измените путь, чтобы указать на новый версия решает проблему для меня.

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

Ответ 4

Используя TortoiseGit, я сделал все другие исправления/обновления, предоставленные для этого, и до сих пор не удался. Я нашел это: Не удается git нажать/вытащить/извлечь неожиданно

Настройки My TortoiseGit для git для Windows Git.exe путь указывал на C:\Program Files (x86)\Git\bin. Я изменил его на C:\Program Files\Git\bin, и теперь он снова работает.

Ответ 5

Это то, что сработало для меня.

  • Установите последнюю версию Git здесь: https://git-scm.com/download/win
  • В TortoiseGit перейдите в меню Настройки → Общие → Git.exe Путь - измените его с 32-битного на 64-битный путь: C:\Program Files (x86)\ Git\bin → C:\Program Files\Git\bin

Ответ 7

У меня возникла такая же проблема, вытаскивая код из GitHub на моем Visual Studio Code. Я нашел совет в предыдущих ответах полезным и взломал решение вместе следующим образом:

Этот репозиторий был весьма полезен.

Я надеюсь, что это поможет кому-то.

Ответ 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

Ответ 9

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

На самом деле, ничего не происходит после установки; может быть, я что-то делаю неправильно? (Это может не помочь на начальном вопросе, но для других людей, да!)

Ответ 10

На macOS вы можете установить последний git через Homebrew.

Ответ 11

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-трафик:

  • OpenSSL, HTTPS проверяет ON: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  • OpenSSL, HTTPS проверяет OFF: SSL certificate problem: unable to get local issuer certificate
  • SecureChannel, HTTPS проверяет ON: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  • SecureChannel, HTTPS проверяет ВЫКЛ: работает нормально

P.S.: Вместо командной строки вы можете просто переустановить последнюю версию Git, выбрав "Использовать собственную библиотеку проверки подлинности Windows SSL".

P.P.S.: Случай (3) кажется ошибкой в ​​библиотеке schannel, потому что сертификат MITM, используемый моим антивирусным программным обеспечением, включен на моей машине.

Ответ 12

Быстрое решение будет git config --global http.sslVerify true, но оно не рекомендуется, поскольку оно побеждает цель с использованием SSL.

Второй и лучший способ - использовать ключи ssh, а не URL-адрес SSL.

Шаги для генерации ключей 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 и т.д.)

Ответ 13

Да, сегодня я столкнулся с той же проблемой при запросе на перенос, и решение было просто обновить Git, загрузив последнюю версию (2.16.2) 64-разрядную версию Git для Windows. Он был выпущен 5 дней назад, 2018-02-20.

Ответ 14

Комментарий от @andw работал у меня:

Обновите Git версии 1.9.5 до 2.15.1, используя следующие шаги:

В sourceTree перейдите в меню Tools → Options → Git → Use Embedded Git.

Ответ 15

При подключении к удаленному репозиторию для извлечения, pull, push и т.д. у меня была такая же ошибка:

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

Ответ 16

Это проблема с IntelliJ и RubyMine. GitHub должен отключить SSL (совместимость PCI, возможно?) В пользу TLS. Если вы откроете "Настройки" в IntelliJ или RubyMine и перейдите к "Управление версиями" > Git, вы увидите его с помощью git.exe, установленного в пути приложения. Вы должны загрузить самую последнюю версию Git и изменить путь в своих настройках VCS, чтобы указать на это, например. C:\Program Files\Git\bin\git.exe, если вы установите его в Windows. Работает как прелесть после этого.