Вопрос или проблема
Я пытаюсь клонировать git-репозиторий и получаю следующее предупреждение и сообщение об ошибке:
Клонирование в 'projectname'...
предупреждение: неподдерживаемая версия ssl tlsv1.2: используется по умолчанию
* Не удалось найти хост <HOST> в файле .netrc; используются значения по умолчанию
* Пытаюсь подключиться к <IP ADDRESS>...
* Подключено к <HOST> (<IP ADDRESS>) порт 443 (#0)
* Неизвестная ошибка протокола SSL при подключении к <HOST>:-9838
* Закрытие соединения 0
фатальная ошибка: невозможно получить доступ к 'https://<HOST>/ios/ios-app.git/': Неизвестная ошибка протокола SSL при подключении к <HOST>:-9838
Я использую:
- OS X El Capitan (10.11.3)
- Git клиент (2.6.4)
- OpenSSL (1.0.2e)
Что не так?
Обновление: Я создал другого пользователя на своем компьютере, и там клонирование работает. Проблема только у моего пользователя. Где может быть проблема?
Убрал следующие строки из своего файла .gitconfig:
http.sslverify=false
http.postbuffer=157286400
http.sslversion=tlsv1.0
credential.helper=cache --timeout=3600
Я не уверен, какая из них блокировала мое подключение к удаленному серверу. Возможно, http.sslversion=tlsv1.0
. Надеюсь, это поможет кому-то еще.
Ответ или решение
Анализ проблемы с Git: Предупреждение о неподдерживаемой версии SSL и ошибки подключения
Вы сталкиваетесь с сообщениями о предупреждении и ошибках при попытке клонировать репозиторий Git. Из предоставленного вами описания видно, что операционная система OS X El Capitan, установленный клиент Git версии 2.6.4 и OpenSSL 1.0.2e могут быть причинами возникшего конфликта с настройками SSL.
Проблема
При попытке клонирования репозитория вы получаете следующее предупреждение:
warning: unsupported ssl version tlsv1.2: using default
* Unknown SSL protocol error in connection to <HOST>:-9838
Это указывает на то, что ваш клиент пытается использовать версию TLS 1.2, которая, по некоторым причинам, не поддерживается в текущей конфигурации вашего пользователя.
Также стоит отметить, что при создании нового пользователя на вашем компьютере клонирование проходит без проблем. Это может свидетельствовать о том, что проблема связана именно с настройками конфигурации Git для вашего текущего пользователя.
Потенциальные причины и решения
-
Настройки конфигурации Git:
Вы упомянули об удалении следующих строк из файла конфигурации.gitconfig
:http.sslversion=tlsv1.0
Явно заданная версия TLS 1.0 может привести к несовместимости, если сервер требует более новых версий, таких как TLS 1.2. Удаление этой строки, вероятно, решило проблему, так как теперь Git использует более безопасный протокол, который поддерживается сервером.
-
Проверка других настроек:
Рассмотрите возможность проверки и других параметров в вашей конфигурации Git. Убедитесь, что они соответствуют стандартам безопасности, особенно настройки, касающиесяsslverify
. Убедитесь, что в вашем.gitconfig
отсутствуют вредные параметры, которые могут блокировать соединение. -
Конфликт с OpenSSL:
Версия OpenSSL, установленная на вашем компьютере (1.0.2e), может быть устаревшей. Обновление OpenSSL до последней доступной версии может помочь в устранении проблем совместимости и предоставить поддержку современных протоколов безопасности. -
Проблемы с сетью:
Если проблема все еще не решена, проверьте сетевые настройки и конфигурации вашего компьютера. Убедитесь, что нет ограничений, блокирующих доступ к указанному хосту.
Рекомендации по будущему использованию Git
-
Обновление программного обеспечения: Регулярно обновляйте Git и OpenSSL. Новые версии могут содержать исправления багов и улучшенную совместимость с современными серверными технологиями.
-
Анализ конфигурации: Проверяйте файл конфигурации
.gitconfig
после изменений, связанных с установкой новых инструментов или обновлений, чтобы избежать конфликтов. -
Документация и ресурсы: Используйте официальную документацию Git и OpenSSL для получения актуальных рекомендаций и конфигурационных примеров.
Заключение
Проблема, с которой вы столкнулись, скорее всего, была вызвана неправильной конфигурацией параметров SSL. Убедившись, что ваш http.sslversion
устанавливает правильное значение, и что другие параметры настройки обеспечивают соединения с серверами, вы сможете успешно клонировать репозитории без дополнительных ошибок. Если у вас возникнут дальнейшие сложности, рассмотрите возможность создания резервной копии конфигурации и её очистки для устранения проблем.