Pacote de Certificados CA do Copilot Ausente no Cliente Linux: Passos para Corrigir
🔍 WiseChecker

Pacote de Certificados CA do Copilot Ausente no Cliente Linux: Passos para Corrigir

Ao executar o Copilot em um cliente Linux, você pode ver erros de conexão que impedem o serviço de autenticar com servidores Microsoft. A causa raiz geralmente é um pacote de certificados CA ausente ou desatualizado no sistema Linux. O Copilot depende de certificados raiz confiáveis para verificar a identidade dos endpoints da Microsoft. Este artigo explica por que o pacote desaparece e fornece comandos passo a passo para restaurá-lo.

O problema aparece como falhas de handshake SSL ou avisos de validação de certificado nos logs do Copilot. Em muitas distribuições Linux, o pacote de certificados é armazenado em um arquivo ou diretório específico. Se esse arquivo for excluído, corrompido ou não instalado por padrão, o Copilot não consegue concluir conexões TLS. A correção envolve reinstalar o pacote de certificados CA correto ou atualizar manualmente o pacote.

Este guia cobre três famílias comuns de Linux: Debian/Ubuntu, RHEL/CentOS e openSUSE. Você também aprenderá a verificar se o pacote está presente e como testar a conexão após aplicar a correção.

Principais Conclusões: Restaurando Certificados CA do Copilot no Linux

  • Pacote ca-certificates: Contém os certificados raiz confiáveis que o Copilot usa para validar endpoints TLS da Microsoft. Reinstale este pacote para corrigir erros de pacote ausente.
  • Comando update-ca-certificates: Regenera o arquivo de pacote de certificados após a instalação. Execute este comando para garantir que o pacote esteja atualizado.
  • Verificação com openssl s_client: Use este comando para verificar se a cadeia de certificados para login.microsoftonline.com está completa após a correção.

ADVERTISEMENT

Por que o Pacote de Certificados CA Desaparece no Linux

O pacote de certificados CA é um arquivo que contém as chaves públicas de autoridades de certificação confiáveis. No Linux, este arquivo geralmente está localizado em /etc/ssl/certs/ca-certificates.crt em sistemas baseados em Debian ou /etc/pki/tls/certs/ca-bundle.crt em sistemas baseados em RHEL. O Copilot e outros clientes TLS leem este arquivo para verificar certificados de servidor durante o handshake SSL.

O pacote pode desaparecer por vários motivos:

  • Remoção do pacote: O pacote ca-certificates foi desinstalado acidentalmente durante a limpeza do sistema.
  • Atualização corrompida: Uma atualização de sistema mal-sucedida deixou o arquivo de pacote vazio ou incompleto.
  • Instalação mínima: Algumas imagens de contêiner ou builds de servidor mínimo omitem o pacote de certificados CA completamente.

Quando o pacote está ausente, o Copilot não pode confiar nos servidores Microsoft. A mensagem de erro no log do Copilot dirá algo como certificate verify failed ou unable to get local issuer certificate. A correção é instalar ou reinstalar o pacote de certificados CA e regenerar o pacote.

Passos para Corrigir o Pacote de Certificados CA Ausente

Os comandos exatos dependem da sua distribuição Linux. Siga a seção para o seu sistema.

Debian ou Ubuntu

  1. Atualize a lista de pacotes
    Abra um terminal e execute sudo apt update para atualizar o cache do repositório. Isso garante que você obtenha a versão mais recente do pacote ca-certificates.
  2. Reinstale o pacote ca-certificates
    Execute sudo apt install --reinstall ca-certificates. Este comando força a reinstalação do pacote mesmo que já esteja presente.
  3. Regenere o pacote
    Execute sudo update-ca-certificates --fresh. Isso remove o pacote antigo e cria um novo a partir dos certificados instalados no sistema.
  4. Verifique se o arquivo de pacote existe
    Confirme que o arquivo está presente com ls -l /etc/ssl/certs/ca-certificates.crt. O arquivo deve ser um arquivo regular com tamanho maior que zero.

RHEL, CentOS ou Fedora

  1. Instale o pacote ca-certificates
    Execute sudo yum install ca-certificates ou sudo dnf install ca-certificates dependendo do seu sistema. No RHEL 8 e posteriores, use dnf.
  2. Atualize o pacote
    Execute sudo update-ca-trust. Este comando processa todos os certificados no repositório de confiança e atualiza o arquivo de pacote.
  3. Confirme o local do pacote
    Verifique o arquivo em /etc/pki/tls/certs/ca-bundle.crt usando ls -l. O arquivo deve existir e ser legível.

openSUSE ou SUSE Linux Enterprise

  1. Atualize os metadados do repositório
    Execute sudo zypper refresh para obter as informações mais recentes do pacote.
  2. Instale ou reinstale o ca-certificates
    Execute sudo zypper install --force ca-certificates. A opção force garante que o pacote seja reinstalado mesmo que já esteja presente.
  3. Regenere o pacote
    Execute sudo update-ca-certificates. Em sistemas SUSE, este comando regenera o pacote a partir dos certificados instalados.
  4. Verifique o pacote
    Confirme que o arquivo em /etc/ssl/ca-bundle.pem existe e não está vazio.

ADVERTISEMENT

Se o Copilot Ainda Tiver Problemas Após a Correção Principal

Copilot relata erros de certificado mesmo após reinstalar o ca-certificates

Isso pode acontecer se o relógio do sistema estiver incorreto. A validação de certificado TLS depende de hora precisa. Execute date para verificar a hora atual do sistema. Se estiver errada, instale e configure o NTP com sudo apt install ntp no Debian ou sudo yum install ntp no RHEL, e habilite o serviço. Após sincronizar a hora, reinicie o Copilot e teste a conexão.

Copilot não encontra o arquivo de pacote no caminho esperado

Algumas builds do Copilot procuram o pacote em um caminho personalizado. Verifique o arquivo de configuração do Copilot, geralmente /etc/copilot/copilot.conf ou ~/.copilot/config. Procure por uma linha como ca_bundle = /caminho/para/bundle.crt. Se o caminho apontar para um arquivo inexistente, atualize-o para o caminho correto do pacote do sistema. Para Debian, use /etc/ssl/certs/ca-certificates.crt. Para RHEL, use /etc/pki/tls/certs/ca-bundle.crt.

Copilot funciona após a correção, mas falha após uma atualização do sistema

As atualizações do sistema podem sobrescrever ou remover o pacote se o processo de atualização for interrompido. Execute o comando update-ca-certificates novamente após qualquer atualização importante do sistema. Você também pode criar um cron job que execute sudo update-ca-certificates --fresh semanalmente para manter o pacote atualizado.

Copilot no Linux: Métodos de Correção do Pacote CA Comparados

Item Debian / Ubuntu RHEL / CentOS / Fedora
Nome do pacote ca-certificates ca-certificates
Comando de instalação sudo apt install –reinstall ca-certificates sudo yum install ca-certificates
Comando de regeneração do pacote sudo update-ca-certificates –fresh sudo update-ca-trust
Caminho padrão do pacote /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
Comando de verificação openssl s_client -connect login.microsoftonline.com:443 -CAfile /etc/ssl/certs/ca-certificates.crt openssl s_client -connect login.microsoftonline.com:443 -CAfile /etc/pki/tls/certs/ca-bundle.crt

Após aplicar a correção, teste a conexão usando o comando openssl s_client mostrado na tabela. Um teste bem-sucedido retorna uma linha que diz Verify return code: 0 (ok). Se você vir qualquer outro código de retorno, a cadeia de certificados ainda está incompleta. Nesse caso, verifique se o pacote ca-certificates é a versão mais recente e se nenhum firewall está bloqueando o tráfego TLS de saída na porta 443.

Agora você pode reinstalar o pacote de certificados CA no seu cliente Linux e restaurar a conectividade do Copilot. Use o comando update-ca-certificates após qualquer atualização futura do sistema para evitar que o problema ocorra novamente. Para ambientes automatizados, adicione o comando de regeneração a um timer systemd ou cron job. Esta etapa proativa garante que o Copilot sempre tenha acesso ao conjunto atual de certificados raiz confiáveis.

ADVERTISEMENT