Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-03-26. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Устранение неполадок с TLS

При возникновении на устройстве проблем с TLS можно предпринять меры по их устранению.

Удаление парольной фразы из файла ключа

Если на компьютере Linux с установлен OpenSSL, можно удалить парольную фразу.

  1. Переименуйте исходный файл ключа.

    mv yourdomain.key yourdomain.key.orig
    
  2. Создайте новый ключ без парольной фразы.

    openssl rsa -in yourdomain.key.orig -out yourdomain.key
    

При выполнении этой команды вам будет предложено ввести парольную фразу ключа.

Дополнительные сведения об OpenSSL см. в документации по OpenSSL.

Преобразование сертификата или ключа TLS в формат PEM

Если у вас установлен OpenSSL, вы можете преобразовать ключ в формат PEM с помощью команды openssl. Например, можно преобразовать ключ из формата DER в формат PEM.

openssl rsa -in yourdomain.der -inform DER -out yourdomain.key -outform PEM

В противном случае для преобразования сертификата в формат PEM можно использовать средство SSL Converter. Дополнительные сведения см. в документации по средству SSL Converter.

Неотвечающая установка после отправки ключа

Если ваш экземпляр GitHub Enterprise Server не отвечает после отправки ключа TLS, обратитесь в службу поддержки GitHub Enterprise, включая копию сертификата TLS. Убедитесь, что закрытый ключ не включен.

Ошибки допустимости сертификата

Такие клиенты, как веб-браузеры и Git командной строки, будут отображать сообщение об ошибке, если они не могут проверить допустимость сертификата TLS. Это часто происходит с самозаверяющими сертификатами, а также со связанными по цепочке корневыми сертификатами, выданными из промежуточного корневого сертификата, который не распознается клиентом.

Если вы используете сертификат, подписанный центром сертификации (ЦС), файл сертификата, отправляемый в GitHub Enterprise Server, должен включать цепочку сертификатов с корневым сертификатом этого ЦС. Чтобы создать такой файл, присоедините всю цепочку сертификатов (или "пакет сертификатов") к концу сертификата. При этом первым должен быть сертификат субъекта с именем узла. В большинстве систем это можно сделать с помощью следующей команды:

cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt

Вы должны иметь возможность скачать пакет сертификатов (например, bundle-certificates.crt) из центра сертификации или поставщика TLS.

Установка самозаверяющих или недоверенных корневых сертификатов центра сертификации (ЦС)

Если устройство GitHub Enterprise Server взаимодействует с другими компьютерами в сети, которые используют самозаверяющий или недоверенный сертификат, необходимо импортировать корневой сертификат ЦС для подписи в системное хранилище сертификатов, чтобы получить доступ к этим системам по протоколу HTTPS.

  1. Получите корневой сертификат ЦС из локального центра сертификации и проверьте, что он имеет формат PEM.

  2. Скопируйте файл на устройство GitHub Enterprise Server по протоколу SSH в качестве пользователя admin на порту 122.

    scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
    
  3. Подключитесь к административной оболочке GitHub Enterprise Server по протоколу SSH в качестве пользователя admin на порту 122.

    ssh -p 122 admin@HOSTNAME
    
  4. Импортируйте сертификат в системное хранилище сертификатов.

    ghe-ssl-ca-certificate-install -c rootCA.crt
    
  5. Чтобы применить конфигурацию, выполните следующую команду.

    Примечание. Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.

    Shell
    ghe-config-apply
    
  6. Подождите завершения запуска конфигурации.

Обновление сертификата TLS

Вы можете создать самозаверяющий сертификат или обновить существующий TLS-сертификат для ваш экземпляр GitHub Enterprise Server с помощью служебной программы командной ghe-ssl-certificate-setup строки. Дополнительные сведения см. в разделе Служебные программы командной строки.

Устранение неполадок с обменом данными сервера после обновления сертификата TLS

При возникновении проблем с обменом данными или другими проблемами на сервере после обновления сертификата может возникнуть отсутствие файлов или связей в установке. Проверьте выходные данные веб-журнала для следующего сообщения.

 certificate verify failed (unable to get issuer certificate)

Если вы видите это сообщение, скорее всего, отсутствуют или неправильно настроены сертификаты. Это может запретить службам приложения взаимодействовать друг с другом.

Чтобы устранить эту проблему, выполните указанные ниже действия.

  1. Создайте резервную копию текущего каталога сертификатов TLS.

  2. Чтобы обновить сертификаты и содержимое, которые могут быть отсутствуют в каталоге/etc/ssl/certs , выполните следующую команду.

    Shell
    sudo update-ca-certificates --verbose --fresh
    

Если у вас по-прежнему возникли проблемы, обратитесь к Поддержка GitHub Enterprise.