Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2024-09-24. 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.

    Observação: 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 obter mais informações, 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.