Compartilhar via


Solucionar problemas de certificado RHUI no Azure

Aplica-se a: ✔️ VMs do Linux

Este artigo discute problemas comuns na Red Hat Update Infrastructure (RHUI) causados por certificados TLS (Transport Layer Security) ou SSL (Secure Sockets Layer) expirados ou ausentes.

Pré-requisitos

  • Acesso SSH à VM (máquina virtual) paga conforme o uso (PAYG) do Red Hat Enterprise Linux (RHEL) correspondente no Azure

  • Privilégios de root

Importante

RHUI destina-se apenas a imagens de pagamento conforme o uso. Você está usando imagens personalizadas ou douradas (também conhecidas como "traga sua própria assinatura (BYOS)") em vez disso? Nesse caso, o sistema deve ser conectado ao Red Hat Subscription Manager (RHSM) ou Satellite para receber atualizações. Para obter mais informações, consulte Instruções de registro e assinatura em um sistema RHEL no portal do cliente Red Hat usando o RHSM.

Observação

  • A partir de 12 de outubro de 2023, todos os clientes pay-as-you-go (PAYG) foram direcionados para os IPs RHUI-4 em fases. Os IPs RHUI-3 permanecem disponíveis para atualizações contínuas, mas serão removidos no futuro. Para garantir o acesso ininterrupto a pacotes e atualizações, você deve atualizar as rotas e regras existentes que permitem o acesso a IPs RHUI-3 para incluir endereços IP RHUI-4. No entanto, para continuar recebendo atualizações durante esse período de transição, não remova os IPs RHUI-3.
  • A partir de janeiro de 2020, as novas imagens do Azure US Government começaram a usar os endereços IP públicos mencionados anteriormente no cabeçalho Global do Azure.

Causa 1: o certificado do cliente RHUI expirou

Os certificados RHUI do Azure normalmente expiram a cada dois anos. Se você usar uma imagem de VM do RHEL mais antiga, como o RHEL versão 7.4 (URN da imagem: RedHat:RHEL:7.4:7.4.2018010506), terá conectividade degradada com o RHUI devido a um certificado de cliente TLS/SSL expirado. Por exemplo, você pode receber uma das seguintes mensagens de erro:

  • "O par SSL rejeitou seu certificado como expirado"

  • "Erro: Não é possível recuperar metadados do repositório (repomd.xml) para repositório:_... Por favor, verifique seu caminho e tente novamente"

Você precisa aplicar um processo para evitar a expiração do certificado em imagens antigas ou imagens que foram criadas pouco antes da data de expiração do certificado.

Solução 1: Atualizar o pacote do cliente RHUI

Para acessar repositórios RHEL em sistemas de pagamento conforme o uso em ambientes de nuvem, use a RHUI. Como provedor de nuvem, o Azure pode criar e publicar versões mais recentes do RPM de configuração do cliente a qualquer momento, como para as seguintes tarefas:

  • Fornecendo acesso a um novo repositório
  • Como renovar certificados
  • Fazendo outras alterações de embalagem

Nessa situação, você precisa instalar o novo pacote RHUI no sistema. Esse pacote tem o certificado renovado. Para atualizar o pacote RHUI, execute o comando yum :

sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'

O comando sudo yum update também pode atualizar o pacote de certificado do cliente (dependendo da versão do RHEL). Isso é verdadeiro mesmo se a saída do comando contiver os mesmos erros de certificado SSL expirado que aparecem para outros repositórios. Se a atualização for bem-sucedida, será preciso restaurar a conectividade normal com outros repositórios RHUI para que seja possível executar sudo yum update uma segunda vez com êxito.

Se você receber um erro "404" ao executar yum updateo , tente executar os seguintes comandos para atualizar o cache do yum:

sudo yum clean all
sudo yum makecache

Causa 2: o certificado RHUI está ausente

A VM do Linux do Red Hat no Azure já tem o pacote RHUI do Azure instalado. No entanto, o certificado está ausente no diretório /etc/pki/rhui/product/ .

Se o certificado RHUI foi removido da VM por engano, a seguinte mensagem de erro será exibida quando você tentar instalar ou atualizar um pacote:

sudo yum install <package-name>
Red Hat Enterprise Linux X for x86_64 - XXXX  0.0  B/s |   0  B     00:00  
Errors during downloading metadata for repository 'rhel-X-for-x86_64-XXXX-eus-rhui-rpms':  
  - Curl error (58): Problem with the local SSL certificate for https://rhui-3.microsoft.com/pulp/repos/content/eus/rhel8/rhui/X.X/x86_64/XXXXX/os/repodata/repomd.xml [could not load PEM client certificate, OpenSSL error error:02001002:system library:fopen:No such file or directory, (no key found, wrong pass phrase, or wrong file format?)]

Solução 2: Reinstale o pacote EUS, não EUS ou SAP RHUI

Reinstale o pacote RHUI correspondente para regenerar os certificados ausentes no local correto.

Todos os comandos nas etapas a seguir devem ser executados usando privilégios de root ou especificando sudo:

  1. Verifique se o rhui-azure pacote (EUS, non-EUSou SAP/E4S) está instalado. Para fazer isso, execute o seguinte comando:

    sudo rpm -qa | grep -i azure
    
    rhui-azure-rhelX-<>-X.X-XXX.noarch
    

    Para obter mais informações sobre o EUS (Suporte de Atualização Estendida) ou pacotes RHUI não EUS, consulte as seções vinculadas dos artigos a seguir.

    Tipo de pacote Link
    Pacotes EUS RHUI Imagens do Red Hat conectadas a repositórios EUS
    Pacotes RHUI não EUS Imagens da Red Hat conectadas a repositórios não EUS
    Pacotes RHUI de assinaturas do Update Services for SAP Solutions (SAP/E4S) Imagens do Red Hat conectadas a repositórios SAP/E4S
  2. Verifique se o certificado existe:

    sudo ls -l /etc/pki/rhui/product/
    

    Observação

    Nesse cenário, você descobre que o arquivo está ausente.

  3. Reinstale o pacote correspondente rhui-azure executando o yum reinstall comando:

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft*"
    
  4. Se o EUS repositório ou E4S estiver instalado, bloqueie a releasever variável:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. Verifique se o certificado existe executando o ls comando novamente. O arquivo de certificado deve ser listado agora:

    sudo ls -l /etc/pki/rhui/product/
    

Causa 3: o pacote RHUI está ausente

O pacote RHUI EUS, não EUS ou SAP/E4S está ausente na VM do Red Hat, mas os arquivos de configuração do repositório ainda existem no diretório /etc/yum.repos.d/ .

Ao tentar instalar ou atualizar um pacote, você recebe a seguinte mensagem de erro:

sudo yum install <package-name>  
Red Hat Enterprise Linux X for x86_64 - XXXX  0.0  B/s |   0  B     00:00  
Errors during downloading metadata for repository 'rhel-X-for-x86_64-XXXX-XXX-rhui-rpms':  
  - Curl error (58): Problem with the local SSL certificate for https://rhui-3.microsoft.com/pulp/repos/content/eus/rhel8/rhui/X.X/x86_64/XXXXX/os/repodata/repomd.xml [could not load PEM client certificate, OpenSSL error error:02001002:system library:fopen:No such file or directory, (no key found, wrong pass phrase, or wrong file format?)]

Solução 3: Instalar o pacote RHUI EUS, não EUS ou SAP/E4S

Instale o pacote RHUI ausente para EUS, não EUS ou SAP/E4S.

Todos os comandos a seguir devem ser executados usando privilégios de root ou especificando sudo.

Instalação do pacote EUS RHUI

  1. Execute o comando yum install para instalar o pacote rhui-azure-rhel7-eus:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
    
  2. Bloqueie a releasever variável:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Verifique se os repositórios correspondentes estão disponíveis e não mostram erros. Para fazer isso, execute o yum repolist comando:

    sudo yum repolist all
    

Observação

Se você estiver usando um proxy em /etc/yum.conf ou /etc/dnf.conf, o yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando não funcionará porque não inclui suas configurações de proxy. Nesse caso, use os seguintes comandos:

sudo wget https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhelX-X-X-X.config
sudo mv rhui-microsoft-azure-rhelX-X-X-X.config /etc/yum.repos.d
sudo yum install rhui-azure-rhel-X-X-X

Substitua rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X pelos valores reais, conforme apropriado.

Instalação do pacote RHUI não EUS

  1. Remova o arquivo releasever, se ele existir.

    sudo rm /etc/yum/vars/releasever
    
  2. Instale o rhui-azure-rhel7 pacote executando o yum install comando:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. Verifique se os repositórios correspondentes estão disponíveis e não mostram erros. Para fazer isso, execute o yum repolist comando:

    sudo yum repolist all
    

Observação

Se você estiver usando um proxy em /etc/yum.conf ou /etc/dnf.conf, o yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando não funcionará porque não inclui suas configurações de proxy. Nesse caso, use os seguintes comandos:

sudo wget https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhelX-X-X-X.config
sudo mv rhui-microsoft-azure-rhelX-X-X-X.config /etc/yum.repos.d
sudo yum install rhui-azure-rhel-X-X-X

Substitua rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X pelos valores reais, conforme apropriado.

Instalação do pacote RHEL 7 SAP/E4S/HANA RHUI

Selecione a guia de um tipo de imagem SAP para ver as instruções correspondentes.

As etapas a seguir se aplicam se a versão do sistema operacional for anterior ao RHEL 7.9 e a VM tiver sido criada usando a imagem da RHEL-SAP-APPS oferta.

  1. Instale o rhui-azure-rhel7-sapapps pacote executando o yum install comando:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
    
  2. Bloqueie a releasever variável:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Verifique se os repositórios correspondentes estão disponíveis e não mostram erros. Para fazer isso, execute o yum repolist comando:

    sudo yum repolist all
    

Observação

Se você estiver usando um proxy em /etc/yum.conf ou /etc/dnf.conf, o yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando não funcionará porque não inclui suas configurações de proxy. Nesse caso, use os seguintes comandos:

sudo wget https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhelX-X-X-X.config
sudo mv rhui-microsoft-azure-rhelX-X-X-X.config /etc/yum.repos.d
sudo yum install rhui-azure-rhel-X-X-X

Substitua rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X pelos valores reais, conforme apropriado.

Instalação do pacote RHEL 8 SAP/E4S/HANA RHUI

Selecione a guia de um tipo de imagem SAP para ver as instruções correspondentes.

As etapas a seguir se aplicam se a versão do sistema operacional for anterior à versão mais recente disponível com suporte do SAP e RHEL 8.X a VM tiver sido criada usando a imagem da RHEL-SAP-APPS oferta.

  1. Instale o rhui-azure-rhel8-sapapps pacote executando o comando dnf installation:

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
    
  2. Bloqueie a releasever variável:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. Verifique se os repositórios correspondentes estão disponíveis e não mostram erros. Para fazer isso, execute o yum repolist comando:

    sudo dnf repolist all
    

Observação

Se você estiver usando um proxy em /etc/yum.conf ou /etc/dnf.conf, o yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando não funcionará porque não inclui suas configurações de proxy. Nesse caso, use os seguintes comandos:

sudo wget https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhelX-X-X-X.config
sudo mv rhui-microsoft-azure-rhelX-X-X-X.config /etc/yum.repos.d
sudo yum install rhui-azure-rhel-X-X-X

Substitua rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X pelos valores reais, conforme apropriado.

Instalação do pacote RHEL 9 SAP/HANA RHUI

Selecione a guia de um tipo de imagem SAP para ver as instruções correspondentes.

As etapas a seguir se aplicarão se a versão do sistema operacional for anterior à versão mais recente disponível com suporte do SAP para RHEL 9.0e se a VM tiver sido criada usando a imagem da RHEL-SAP-APPS oferta.

  1. Instale o rhui-azure-rhel9-sapapps pacote executando o dnf install comando:

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
    
  2. Bloqueie o releasever nível. Atualmente, a versão deve ser 9.0 ou 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. Verifique se os repositórios correspondentes estão disponíveis e não mostram erros. Para fazer isso, execute o yum repolist comando:

    sudo dnf repolist all
    

Observação

Se você estiver usando um proxy em /etc/yum.conf ou /etc/dnf.conf, o yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando não funcionará porque não inclui suas configurações de proxy. Nesse caso, use os seguintes comandos:

sudo wget https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhelX-X-X-X.config
sudo mv rhui-microsoft-azure-rhelX-X-X-X.config /etc/yum.repos.d
sudo yum install rhui-azure-rhel-X-X-X

Substitua rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X pelos valores reais, conforme apropriado.

Causa 4: o certificado CA SSL está ausente

O arquivo de certificado ca-bundle.crt foi excluído manualmente, foi corrompido ou está desatualizado.

Você pode receber uma mensagem de erro semelhante à seguinte saída ao tentar executar comandos yum:

# yum repolist  
Loaded plugins: langpacks, product-id, search-disabled-repos  
rhui-rhel-X-server-dotnet-rhui FAILED  
https://rhui-3.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/X/XServer/x86_64/dotnet/1/os/repodata/70b2edf9a115dffa42d4dd66ba77e77bc3cad45d1143ed02df72ea58c92b59b5-primary.sqlite.bz2: [Errno 14] curl#77 - "Problem with the SSL CA cert (path? access rights?)"
Trying other mirror.

Solução 4: Atualizar ou reinstalar o pacote de certificados de autoridade de certificação

  1. Baixe o pacote ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm mais recente de outra VM que tenha acesso ao repositório e a mesma versão e versão do Red Hat. Em seguida, copie o pacote para a VM afetada:

    sudo yumdownloader ca-certificates
    sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
    

    Observação

    Certifique-se de substituir os espaços reservados de usuário e endereço IP correspondentes. Além disso, certifique-se de substituir o nome do pacote, ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm, de acordo.

  2. Atualize, instale ou reinstale o pacote ca-certificate depois que ele for copiado para a VM afetada:

    1. Verifique se o pacote já está instalado:

      sudo rpm -qa | grep "ca-certificates"
      
      • Se o pacote estiver ausente, instale-o executando o yum install comando:

        sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
        
      • Se o pacote ainda estiver instalado, execute o comando yum reinstall para reinstalá-lo:

        sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
        
    2. Para regenerar ou atualizar os certificados correspondentes, execute o comando update-ca-trust :

      sudo update-ca-trust
      

Causa 5: Erro de verificação no RHEL versão 8 ou 9 ("chave de certificado CA muito fraca")

O sistema tenta se conectar a um servidor que contém um certificado assinado usando chaves RSA de 2048 bits. No entanto, o sistema tem uma configuração de política FUTURE que proíbe esse algoritmo criptográfico. As seguintes mensagens de erro são mostradas no arquivo /var/log/messages ou /var/log/dnf.log :

2023-03-13T19:07:55+0000 DEBUG error: Curl error (60): SSL peer certificate or SSH remote key was not OK for https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel9/rhui/9/x86_64/supplementary/os/repodata/repomd.xml [SSL certificate problem: CA certificate key too weak] (https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel9/rhui/9/x86_64/supplementary/os/repodata/repomd.xml).
 - Curl error (58): Problem with the local SSL certificate for https://rhui-2.microsoft.com/pulp/repos/content/e4s/rhel8/rhui/8.4/x86_64/sap/os/repodata/repomd.xml [could not load PEM client certificate, OpenSSL error error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small, (no key found, wrong pass phrase, or wrong file format?)]

A configuração de política padrão do sistema é DEFAULT. Nesse cenário, a configuração padrão foi alterada de DEFAULT para FUTURE ou CUSTOM. A FUTURE política desabilita alguns algoritmos que usam 2.048 bits, como SHA-1, RSA e Diffie-Hellman. A política CUSTOM também pode desabilitar esses algoritmos. Para identificar o modo de configuração de política atual, execute o seguinte comando update-crypto-policies :

sudo update-crypto-policies --show
DEFAULT:FUTURE

Solução 5: reverter para a política de sistema criptográfico padrão

Reverta a criptografia para a configuração de política do sistema DEFAULT seguindo estas etapas:

  1. Altere a configuração da política do sistema de volta para DEFAULT executando o update-crypto-policies comando:

    sudo update-crypto-policies --set DEFAULT
    
  2. Verifique se a alteração de política foi feita executando o comando update-crypto-policies novamente:

    sudo update-crypto-policies --show
    
  3. Teste para garantir que o erro foi corrigido. Para fazer isso, execute o dnf install comando:

    sudo dnf install <package-name>
    

Para obter mais informações sobre a política criptográfica, consulte Padrões de criptografia fortes no RHEL 8 e substituição de algoritmos de criptografia fracos.

Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.