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

неустранимый: невозможно получить доступ к 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
106
Shayan Nahrvar 23 Фев 2018 в 01:05

16 ответов

Лучший ответ

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

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

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

69
Peter Mortensen 14 Мар 2018 в 09:03

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

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

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

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

20
Peter Mortensen 14 Мар 2018 в 09:32

Обновление 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
8
Peter Mortensen 14 Мар 2018 в 10:14

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

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

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

2
Peter Mortensen 14 Мар 2018 в 09:49

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

1
A S 24 Фев 2018 в 02:46

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

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

1
Peter Mortensen 14 Мар 2018 в 09:41

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

Обновите Git версии 1.9.5 до 2.15.1, выполнив следующие действия:

В sourceTree перейдите в меню Инструменты Параметры Git Использовать встроенный Git .

1
Peter Mortensen 14 Мар 2018 в 09:59

Быстрым решением было бы 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 и т. Д.). )

1
Peter Mortensen 14 Мар 2018 в 10:13

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

0
Dave Medlock 21 Мар 2018 в 20:50

Иногда это вызвано устаревшим msysgit, который использует старый ssl и больше не поддерживается, вы можете установить последнюю версию git для windows и укажите на него путь git.exe в настройках черепахи, тогда эта проблема исчезла.

0
Benny 11 Июл 2018 в 09:15

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

Ранее мое клонирование протокола https не работало и выдавало ошибку

Неустранимый: невозможно получить доступ к https://github.com/tensorflow/models/: ошибка: 1407742E: Подпрограммы SSL: SSL23_GET_SERVER_HELLO: предупреждение tlsv1 версия протокола

Как только я скачал новую версию и запустил ту же команду клонирования, она работала без проблем.

0
Cà phê đen 15 Мар 2019 в 09:54

Обнаружена похожая ошибка. В Windows обновлен git для Windows до последней версии. Это решило проблему.

0
Olusola Omosola 14 Авг 2018 в 09:10

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

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

Я только что переустановил Git 64-bit вместо 32-bit, и это решило проблему.

После установки проверьте путь Git в переменных среды. Должен быть:

C:\Program Files\Git\bin\git.exe
0
Peter Mortensen 14 Мар 2018 в 10:06

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

1
Peter Mortensen 14 Мар 2018 в 09:58

Используя TortoiseGit, я сделал все другие исправления / обновления, приведенные для этого, и до сих пор безуспешно. Я обнаружил это: Не могу внезапно выполнить команду push / pull / fetch

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

8
Peter Mortensen 14 Мар 2018 в 09:45

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

Enter image description here

14
Peter Mortensen 14 Мар 2018 в 09:44