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
Ответ 6
См. Git Диспетчер учетных данных для Windows v1.14.0.
Просто пройди это. Я думаю, это может помочь вам...
Ответ 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. Работает как прелесть после этого.