"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 в командной строке, и вам будет предложено снова войти в систему. Проблема должна быть решена в настоящее время, и вы должны иметь возможность продолжать работать как обычно.

Ответ 4

Выше решение не работает для меня. Но у меня есть решение для этого: когда git снова запрашивает у нас имя пользователя в git bash, введите имя пользователя и пароль GITHUB в самом git bash, и вы вернетесь к работе.