"fatal: HttpRequestException обнаружен." Ошибка с GitHub/Bitbucket Repositories из-за прекращения поддержки TLS-1.0
проблема
Недавно я столкнулся со следующим сообщением, когда отправлялся в репозиторий GitHub:
"fatal: HttpRequestException encountered. "
после чего снова запрашивается мое имя пользователя и пароль.
Из предыдущих поисков Visual Studio и многие другие имеют одну и ту же корневую проблему. Для тех, кто более ленив, чем я, краткий обзор различных решений для различных приложений/ОС здесь с соответствующими обсуждениями. Надеюсь, люди найдут это полезным.
причина
Не могу назвать обновление Sercurity проблемой, поэтому здесь причина. Проблема в том, что GitHub удалил поддержку TLS-1.0, которая вызывает проблемы с клиентами, включая Microsoft Visual Studio, встроенный в клиент git, версии Git ниже 1.14, а также с клиентами GUI, включая tortoiseGit и т.д. Полные примечания к выпуску можно найти здесь: https://githubengineering.com/crypto-removal-notice/
Bitbucket потеряет TLSv1.0 и TLSv1.1 начиная с 1 декабря 2018 года. Я ожидаю таких же проблем, как и раньше.
Решение
Изменение: перенес мой самоответ в поле для ответов. Увидеть ниже.
Ответы
Ответ 1
Git hub удалил TLS-1.0 из его служб аутентификации. https://githubengineering.com/crypto-removal-notice/
Решения
Клиенты Windows
Используйте версию 2.14.3 (или новее) Git для Windows, а новые - обновленный Git Credential Manager для Windows: https://gitforwindows.org/
Вы также можете явно обновить свой кредитный менеджер Git Windows до последней версии 1.14.0, чтобы получить поддержку TLS-1.2: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0
Клиенты Visual Studio
Предлагается обновить клиента до VS 2017 или, если вы не можете обновить, есть два общедоступных раздела реестра, которые вы можете установить, которые влияют на все.NET-приложения на клиентской машине, которые вы можете изменить... https://developercommunity.visualstudio.com/content/problem/201457/unable-to-connect-to-github-due-to-tls-12-only-cha.html
JDK
TLS-1.2 по умолчанию используется в JDK8 и доступен в JDK7. https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https
Собственные клиенты Git от Red Hat
RH 5 не поддерживает TLS-1.2, а GitHubEngineering предлагает обновление до более новых версий ОС. RH 6.8 и 7.2 будут поддерживать TLS-1.2. https://www.linuxquestions.org/questions/blog/mensawater-183304/rhel5-wont-support-tlsv1-1-or-higher-36951/
Ответ 2
Шаг 1 Сначала вам нужно загрузить и установить последнюю версию Git Windows Credential Manager.
Вот ссылка на него на GitHub. https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/latest
Шаг 2 Перезагрузите компьютер.
Шаг 3 Введите команду git в командной строке, и вам будет предложено снова войти в систему.
Шаг 4 Если вы по-прежнему получаете такую же фатальную ошибку, вам нужно будет обновить Git, загрузив последнюю версию: https://git-scm.com/downloads
Шаг 5 Введите команду git в командной строке, и вам будет предложено снова войти в систему. Проблема должна быть решена в настоящее время, и вы должны иметь возможность продолжать работать как обычно.
Ответ 3
Поддержка TLS прекращена в более старых версиях git.
Обновление git на вашей машине решает эту проблему.
Загрузите последнюю версию git и установите ее для своей машины здесь: https://git-scm.com/downloads.
Ответ 4
Выше решение не работает для меня. Но у меня есть решение для этого: когда git снова запрашивает у нас имя пользователя в git bash, введите имя пользователя и пароль GITHUB в самом git bash, и вы вернетесь к работе.