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-azure*'
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 update
o , 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
:
Verifique se o
rhui-azure
pacote (EUS
,non-EUS
ouSAP/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 Verifique se o certificado existe:
sudo ls -l /etc/pki/rhui/product/
Observação
Nesse cenário, você descobre que o arquivo está ausente.
Reinstale o pacote correspondente
rhui-azure
executando oyum reinstall
comando:sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
Se o
EUS
repositório ouE4S
estiver instalado, bloqueie areleasever
variável:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
Execute o comando
yum install
para instalar o pacoterhui-azure-rhel7-eus
:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
Bloqueie a
releasever
variável:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
erhui-azure-rhel-X-X-X
pelos valores reais, conforme apropriado.
Instalação do pacote RHUI não EUS
Remova o arquivo releasever, se ele existir.
sudo rm /etc/yum/vars/releasever
Instale o
rhui-azure-rhel7
pacote executando oyum install
comando:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
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.
- RHEL 7.x - APLICATIVOS RHEL-SAP
- RHEL 7.9 - APLICATIVOS RHEL-SAP
- RHEL 7.x - RHEL-SAP (oferta antiga)
- RHEL 7.x - RHEL-SAP-HA (E4S)
- RHEL 7.9 - RHEL-SAP-HA
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.
Instale o
rhui-azure-rhel7-sapapps
pacote executando oyum install
comando:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
Bloqueie a
releasever
variável:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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.
- RHEL 8.x - APLICATIVOS RHEL-SAP
- RHEL 8.10 - APLICATIVOS RHEL-SAP
- RHEL 8.x - RHEL-SAP-HA (E4S)
- RHEL 8.10 - RHEL-SAP-HA
- RHEL 8.x - RHEL-HA (E4S)
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.
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
Bloqueie a
releasever
variável:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
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.0
e se a VM tiver sido criada usando a imagem da RHEL-SAP-APPS
oferta.
Instale o
rhui-azure-rhel9-sapapps
pacote executando odnf install
comando:sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
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'
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
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.
Atualize, instale ou reinstale o pacote
ca-certificate
depois que ele for copiado para a VM afetada: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=*
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:
Altere a configuração da política do sistema de volta para
DEFAULT
executando oupdate-crypto-policies
comando:sudo update-crypto-policies --set DEFAULT
Verifique se a alteração de política foi feita executando o comando
update-crypto-policies
novamente:sudo update-crypto-policies --show
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.