Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2024-09-25. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Solução de problemas relacionados a erros do TLS

Se você tiver problemas relacionados ao TLS com seu dispositivo, veja o que fazer para resolvê-los.

Remover a frase secreta do arquivo de chave

Se você tiver uma máquina Linux com OpenSSL instalado, será possível remover a frase secreta.

  1. Renomeie seu arquivo de chave original.

    mv yourdomain.key yourdomain.key.orig
    
  2. Gere uma nova chave SSH sem frase secreta.

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

A senha da chave será solicitada quando você executar esse comando.

Para obter mais informações sobre o OpenSSL, confira a documentação do OpenSSL.

Converter a chave ou o certificado TLS em formato PEM

Se você tiver o OpenSSL instalado, converta sua chave no formato PEM usando o comando openssl. Por exemplo, você pode converter uma chave do formato DER para o formato PEM.

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

Se não tiver, você pode usar a ferramenta SSL Converter para converter seu certificado em formato PEM. Para obter mais informações, confira a documentação da ferramenta SSL Converter.

Instalação parada após upload de chave

Se o sua instância do GitHub Enterprise Server não responder após o upload de uma chave TLS, entre em contato com o Suporte do GitHub Enterprise e forneça detalhes específicos, incluindo uma cópia do certificado TLS. Verifique se sua chave privada não está incluída.

Erros de validade de certificado

Se não for possível verificar a validade de um certificado TLS, clientes como navegadores da Web e Gits de linha de comando exibirão uma mensagem de erro. Isso costuma acontecer com certificados autoassinados e certificados de "raiz encadeada" emitidos a partir de um certificado raiz intermediário não reconhecido pelo cliente.

Se você estiver usando um certificado assinado por uma autoridade de certificação (CA), o arquivo de certificado que você carregar no GitHub Enterprise Server deverá incluir uma cadeia de certificados com o certificado raiz da autoridade certificada em questão. Para criar esse arquivo, concatene toda a sua cadeia de certificados (ou "pacote de certificados") até o fim, garantindo que o certificado principal com o nome de host seja o primeiro. Na maioria dos sistemas, fazer isso é possível com um comando semelhante ao seguinte:

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

Você deve conseguir baixar um pacote de certificados (por exemplo, bundle-certificates.crt) da autoridade de certificação ou do fornecedor de TLS.

Instalar certificados raiz de autoridade de certificação (CA) autoassinada ou não confiável

Se o seu appliance do GitHub Enterprise Server interage na rede com outras máquinas que usam certificados autoassinados ou não confiáveis, será necessário importar o certificado raiz da CA de assinatura para o armazenamento geral do sistema a fim de acessar esses sistemas por HTTPS. Se quiser usar um certificado assinado por uma autoridade de certificação interna, você deve instalar o certificado raiz e todos os certificados intermediários.

  1. Obtenha o certificado raiz da autoridade de certificação local e verifique se ele está no formato PEM.

  2. Copie o arquivo para o seu appliance do GitHub Enterprise Server via SSH como usuário "admin" na porta 122.

    scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
    
  3. Conecte-se ao shell administrativo do GitHub Enterprise Server via SSH como usuário "admin" na porta 122.

    ssh -p 122 admin@HOSTNAME
    
  4. Importe o certificado no armazenamento geral do sistema.

    ghe-ssl-ca-certificate-install -c rootCA.crt
    
  5. Para aplicar a configuração, execute o comando a seguir.

    Note

    Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.

    Shell
    ghe-config-apply
    
  6. Aguarde a conclusão da execução de suas configurações.

Atualizar um certificado TLS

Com o utilitário de linha de comando ghe-ssl-certificate-setup, é possível gerar um certificado autoassinado ou atualizar um certificado TLS existente para o sua instância do GitHub Enterprise Server. Para saber mais, confira Utilitários de linha de comando.

Solucionar problemas com comunicações de servidor após atualizar um certificado TLS

Caso encontre problemas com a comunicação ou outros problemas no servidor após atualizar um certificado, pode haver arquivos ausentes ou links simbólicos na instalação. Verifique a saída do blog para ver a mensagem a seguir.

 certificate verify failed (unable to get issuer certificate)

Se você vir essa mensagem, é provável que haja certificados ausentes ou configurados incorretamente. Isso pode impedir que os serviços de aplicativo se comuniquem entre si.

Para corrigir esse problema:

  1. Faça backup do seu diretório de certificados TLS atual.

  2. Para atualizar certificados e conteúdo que podem estar faltando no diretório de /etc/ssl/certs, execute o comando a seguir.

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

Caso ainda tenha problemas, entre em contato com o seu administrador do site.