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.
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-certificatesfoi 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
- Atualize a lista de pacotes
Abra um terminal e executesudo apt updatepara atualizar o cache do repositório. Isso garante que você obtenha a versão mais recente do pacote ca-certificates. - Reinstale o pacote ca-certificates
Executesudo apt install --reinstall ca-certificates. Este comando força a reinstalação do pacote mesmo que já esteja presente. - Regenere o pacote
Executesudo update-ca-certificates --fresh. Isso remove o pacote antigo e cria um novo a partir dos certificados instalados no sistema. - Verifique se o arquivo de pacote existe
Confirme que o arquivo está presente comls -l /etc/ssl/certs/ca-certificates.crt. O arquivo deve ser um arquivo regular com tamanho maior que zero.
RHEL, CentOS ou Fedora
- Instale o pacote ca-certificates
Executesudo yum install ca-certificatesousudo dnf install ca-certificatesdependendo do seu sistema. No RHEL 8 e posteriores, use dnf. - Atualize o pacote
Executesudo update-ca-trust. Este comando processa todos os certificados no repositório de confiança e atualiza o arquivo de pacote. - Confirme o local do pacote
Verifique o arquivo em/etc/pki/tls/certs/ca-bundle.crtusandols -l. O arquivo deve existir e ser legível.
openSUSE ou SUSE Linux Enterprise
- Atualize os metadados do repositório
Executesudo zypper refreshpara obter as informações mais recentes do pacote. - Instale ou reinstale o ca-certificates
Executesudo zypper install --force ca-certificates. A opção force garante que o pacote seja reinstalado mesmo que já esteja presente. - Regenere o pacote
Executesudo update-ca-certificates. Em sistemas SUSE, este comando regenera o pacote a partir dos certificados instalados. - Verifique o pacote
Confirme que o arquivo em/etc/ssl/ca-bundle.pemexiste e não está vazio.
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.