"Соединение TLS было разорвано неправильно" в подсистеме Linux 10 Windows

Я недавно переустановил свой компьютер и установил подсистему Linux, что я всегда делаю. Когда я захотел запустить композитора, я заметил кое-что странное. Сбой, потому что не удалось установить соединение TLS.

[RuntimeException] Не удалось клонировать https://github.com/inquam/colors.php через https, протоколы ssh, прерывание.

  • https://github.com/inquam/colors.php Клонирование в пустой репозиторий '/home/danlil/.cache/composer/vcs/https---github.com-inquam-colors.php'... фатально: невозможно для доступа к https://github.com/inquam/colors.php/: gnutls_handshake() не удалось: соединение TLS было разорвано неправильно.

  • git@github.com: inquam / colors.php Клонирование в пустой репозиторий '/home/danlil/.cache/composer/vcs/https---github.com-inquam-colors.php'... Предупреждение: окончательно добавлено Ключ хоста RSA для IP-адреса "192.30.253.113" к списку известных хостов. В доступе отказано (открытый ключ). Неустранимый: Не удалось прочитать из удаленного хранилища.

    Пожалуйста, убедитесь, что у вас есть правильные права доступа и хранилище существует.

Попробовав еще немного, я заметил, что это происходит независимо от того, какой репозиторий GitHub я пытаюсь клонировать через https, и это также относится к любому соединению через curl или другим командам, которые соединяются с использованием TLS. Я пробовал несколько предложенных решений в других потоках, таких как обновление ca-сертификатов, переустановка Ubuntu в Windows 10, загрузка https://curl.haxx.se/ca/cacert.pem и указание на это в php.ini, чтобы убедиться, что ipv6 не предпочтительный метод в Ubuntu и т. д.

Ранее, когда я использовал Ubuntu в Windows 10, я только что установил, и все работало без каких-либо проблем, как это вообще.

Обновление: после тестирования я решил проверить версию GIT для Windows и удалить версию Linux, поскольку подсистема Linux теперь может запускать двоичные файлы Windows. Работало нормально. Затем Composer захотел загрузить https://packagist.org/packages.json и снова потерпел неудачу из-за TLS. Таким образом, TLS не работает в Bash при запуске версий программ для Linux, но отлично работает с версиями WIndows.

[Composer \ Downloader \ TransportException] Не удалось загрузить файл " https://packagist.org/packages.json": не удалось включить шифрование, не удалось открыть поток: операция не выполнена

Чтобы продемонстрировать, что это влияет на каждое нативное приложение Bash, я также протестировал следующее

me @ DATHREADRIPPER: / mnt / e / src $ php -r 'echo file_get_contents (" https://packagist.org/packages.json");'

Предупреждение PHP: file_get_contents(): не удалось включить шифрование в коде командной строки в строке 1 Предупреждение PHP: file_get_contents ( https://packagist.org/packages.json): не удалось открыть поток: операция не выполнена в коде командной строки в строке 1

1 ответ

Это было решено, когда я установил Ubuntu 18.04 в Windows из магазина Windows.

Другие вопросы по тегам