Solución de problemas de certificados RHUI en Azure

En este artículo se describen problemas comunes en la infraestructura de actualización de Red Hat (RHUI) causados por certificados de seguridad de la capa de transporte (TLS) o capa de sockets seguros (SSL) expirados o que faltan.

Requisitos previos

Importante

RHUI está pensado solo para imágenes de pago por uso. ¿Usa imágenes personalizadas o doradas (también conocidas como "bring-your-own-subscription (BYOS)") en su lugar? En ese caso, el sistema debe estar conectado a Red Hat Subscription Manager (RHSM) o Satellite para recibir actualizaciones. Para obtener más información, consulte Registro y suscripción de un sistema RHEL al Portal de clientes de Red Hat mediante RHSM.

Nota:

  • A partir del 12 de octubre de 2023, todos los clientes de pago por uso (PAYG) se han dirigido a las direcciones IP de Red Hat Update Infrastructure (RHUI) 4 en fases. Las direcciones IP de RHUI-3 permanecen disponibles para las actualizaciones continuas, pero se quitarán en el futuro. Para garantizar el acceso ininterrumpido a paquetes y actualizaciones, debe actualizar las rutas y reglas existentes que permiten el acceso a direcciones IP RHUI-3 para incluir direcciones IP RHUI-4. Sin embargo, para seguir recibiendo actualizaciones durante este período de transición, no quite las direcciones IP de RHUI-3.
  • A partir de enero de 2020, las nuevas imágenes de Azure US Government han empezado a usar las direcciones IP públicas mencionadas anteriormente en el encabezado Global de Azure.

Causa 1: El certificado de cliente de RHUI ha expirado

Los certificados RHUI de Azure suelen expirar cada dos años. Si usa una imagen de máquina virtual de RHEL anterior, como RHEL versión 7.4 (URN de imagen: RedHat:RHEL:7.4:7.4.2018010506), experimenta una conectividad degradada con RHUI debido a un certificado de cliente TLS/SSL expirado. Por ejemplo, puede recibir uno de los siguientes mensajes de error:

  • "El mismo nivel de SSL rechazó el certificado como expirado"

  • "Error: No se pueden recuperar metadatos del repositorio (repomd.xml) para repository:_... Compruebe su ruta de acceso e inténtelo de nuevo"

Tiene que aplicar un proceso para evitar la expiración del certificado en imágenes o imágenes antiguas que se crearon justo antes de una fecha de expiración del certificado.

Solución 1: Actualización del paquete de cliente de RHUI

Para acceder a repositorios de RHEL en sistemas de pago por uso en entornos en la nube, use RHUI. Como proveedor de nube, Azure puede crear y publicar versiones de RPM de configuración de cliente más recientes en cualquier momento, como para las siguientes tareas:

  • Proporcionar acceso a un nuevo repositorio.
  • Renovación de certificados.
  • Realizar cualquier otro cambio de empaquetado.

En esta situación, tiene que instalar el nuevo paquete RHUI en el sistema. Este paquete tiene el certificado renovado. Ejecute el comando yum para actualizar el paquete RHUI:

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

El sudo yum update comando también puede actualizar el paquete de certificado de cliente (en función de la versión de RHEL). Esto es cierto incluso si la salida del comando contiene los mismos errores de certificado SSL expirados que se ven en otros repositorios. Si esta actualización se realiza correctamente, debe restaurar la conectividad normal a otros repositorios de RHUI para que pueda ejecutarse sudo yum update correctamente una segunda vez.

Si recibe un error "404" al ejecutar yum update, intente ejecutar los siguientes comandos para actualizar la caché de yum:

sudo yum clean all
sudo yum makecache

Causa 2: Falta el certificado RHUI

La máquina virtual Red Hat Linux de Azure ya tiene instalado el paquete de Azure RHUI. Sin embargo, falta el certificado del directorio /etc/pki/rhui/product/ .

Si el certificado RHUI se quitó de la máquina virtual por error, aparece el siguiente mensaje de error al intentar instalar o actualizar un paquete:

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?)]

Solución 2: Reinstalación del paquete EUS, no EUS o SAP RHUI

Vuelva a instalar el paquete RHUI correspondiente para volver a generar los certificados que faltan en la ubicación correcta.

Todos los comandos de los pasos siguientes deben ejecutarse mediante privilegios raíz o especificando sudo:

  1. Compruebe que el rhui-azure paquete (EUS, non-EUSo SAP/E4S) está instalado mediante el siguiente comando:

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

    Para obtener más información sobre la compatibilidad con actualizaciones extendidas (EUS) o paquetes RHUI que no son de EUS, consulte las secciones vinculadas de los artículos siguientes.

    Tipo de paquete Vínculo
    Paquetes de RHUI de EUS Imágenes de Red Hat conectadas a repositorios EUS
    Paquetes de RHUI que no son de EUS Imágenes de Red Hat conectadas a repositorios que no son EUS
    Paquetes RHUI de Update Services for SAP Solutions (SAP/E4S) Imágenes de Red Hat conectadas a repositorios SAP/E4S
  2. Compruebe que el certificado existe:

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

    Nota:

    En este escenario, descubrirá que falta el archivo.

  3. Vuelva a instalar el paquete correspondiente rhui-azure ejecutando el yum reinstall comando :

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft*"
    
  4. Si el EUS repositorio o E4S está instalado, bloquee la releasever variable:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. Compruebe que el certificado existe ejecutando el ls comando de nuevo. El archivo de certificado debe aparecer ahora:

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

Causa 3: Falta el paquete RHUI

Falta el paquete RHUI EUS, no EUS o SAP/E4S en la máquina virtual de Red Hat, pero los archivos de configuración del repositorio siguen existiendo en el directorio /etc/yum.repos.d/ .

Al intentar instalar o actualizar un paquete, recibe el siguiente mensaje de error:

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?)]

Solución 3: Instalación del paquete EUS, no EUS o SAP/E4S RHUI

Instale el paquete RHUI que falta para EUS, no EUS o SAP/E4S.

Todos los comandos siguientes deben ejecutarse mediante privilegios raíz o especificando sudo.

Instalación del paquete RHUI de EUS

  1. Ejecute el yum install comando para instalar el rhui-azure-rhel7-eus paquete:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
    
  2. Bloquee la releasever variable:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Compruebe que los repositorios correspondientes están disponibles y no muestre errores ejecutando el yum repolist comando :

    sudo yum repolist all
    

Nota:

Si usa un proxy en /etc/yum.conf o /etc/dnf.conf, el yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando no funcionará porque no incluye la configuración del proxy. En este caso, use los siguientes 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

Reemplace rhui-microsoft-azure-rhelX-X-X-X y rhui-azure-rhel-X-X-X en consecuencia.

Instalación de paquetes RHUI que no son de EUS

  1. Quite el archivo releasever si existe.

    sudo rm /etc/yum/vars/releasever
    
  2. Ejecute el comando para instalar el rhui-azure-rhel7yum install paquete:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. Compruebe que los repositorios correspondientes están disponibles y no muestre errores ejecutando el yum repolist comando :

    sudo yum repolist all
    

Nota:

Si usa un proxy en /etc/yum.conf o /etc/dnf.conf, el yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando no funcionará porque no incluye la configuración del proxy. En este caso, use los siguientes 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

Reemplace rhui-microsoft-azure-rhelX-X-X-X y rhui-azure-rhel-X-X-X en consecuencia.

Instalación del paquete RHEL 7 SAP/E4S/HANA RHUI

Seleccione la pestaña de un tipo de imagen de SAP para ver las instrucciones correspondientes.

Los pasos siguientes se aplican si la versión del sistema operativo es anterior a RHEL 7.9 y la máquina virtual se creó mediante la imagen de oferta RHEL-SAP-APPS .

  1. Ejecute el comando para instalar el rhui-azure-rhel7-sapappsyum install paquete:

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
    
  2. Bloquee la releasever variable:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Compruebe que los repositorios correspondientes están disponibles y no muestre errores ejecutando el yum repolist comando :

    sudo yum repolist all
    

Nota:

Si usa un proxy en /etc/yum.conf o /etc/dnf.conf, el yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando no funcionará porque no incluye la configuración del proxy. En este caso, use los siguientes 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

Reemplace rhui-microsoft-azure-rhelX-X-X-X y rhui-azure-rhel-X-X-X en consecuencia.

Instalación del paquete RHUI de RHEL 8 SAP/E4S/HANA

Seleccione la pestaña de un tipo de imagen de SAP para ver las instrucciones correspondientes.

Los pasos siguientes se aplican si la versión del sistema operativo es anterior a la versión más reciente disponible compatible con SAP para RHEL 8.X y la máquina virtual se creó mediante la imagen de oferta RHEL-SAP-APPS .

  1. Instale el rhui-azure-rhel8-sapapps paquete ejecutando el comando de instalación dnf :

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
    
  2. Bloquee la releasever variable:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. Compruebe que los repositorios correspondientes están disponibles y no muestre errores ejecutando el dnf repolist comando :

    sudo dnf repolist all
    

Nota:

Si usa un proxy en /etc/yum.conf o /etc/dnf.conf, el yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando no funcionará porque no incluye la configuración del proxy. En este caso, use los siguientes 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

Reemplace rhui-microsoft-azure-rhelX-X-X-X y rhui-azure-rhel-X-X-X en consecuencia.

Instalación del paquete RHUI de SAP/HANA de RHEL 9

Seleccione la pestaña de un tipo de imagen de SAP para ver las instrucciones correspondientes.

Los pasos siguientes se aplican si la versión del sistema operativo es anterior a la versión más reciente disponible que es compatible con SAP para RHEL 9.0y si la máquina virtual se creó mediante la imagen de la RHEL-SAP-APPS oferta.

  1. Ejecute el comando para instalar el rhui-azure-rhel9-sapappsdnf install paquete:

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
    
  2. Bloquee el releasever nivel. Actualmente, tiene que ser 9.0 o 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. Compruebe que los repositorios correspondientes están disponibles y no muestre errores. Para ello, ejecute el dnf repolist comando :

    sudo dnf repolist all
    

Nota:

Si usa un proxy en /etc/yum.conf o /etc/dnf.conf, el yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando no funcionará porque no incluye la configuración del proxy. En este caso, use los siguientes 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

Reemplace rhui-microsoft-azure-rhelX-X-X-X y rhui-azure-rhel-X-X-X en consecuencia.

Causa 4: Falta el certificado de entidad de certificación SSL

El archivo de certificado ca-bundle.crt se eliminó manualmente, se ha dañado o está obsoleto.

Es posible que reciba un mensaje de error similar al siguiente resultado al intentar ejecutar yum comandos:

# 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.

Solución 4: Actualización o reinstalación del paquete de certificados de CA

  1. Descargue el paquete ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm más reciente desde otra máquina virtual que tenga acceso al repositorio y la misma versión y versión de Red Hat. A continuación, copie el paquete en la máquina virtual afectada:

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

    Nota:

    Asegúrese de reemplazar los marcadores de posición de usuario y dirección IP correspondientes. Además, asegúrese de reemplazar el nombre del paquete, ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm, en consecuencia.

  2. Actualice, instale o vuelva a instalar el ca-certificate paquete después de copiarlo en la máquina virtual afectada:

    1. Compruebe si el paquete ya está instalado:

      sudo rpm -qa | grep "ca-certificates"
      
      • Si falta el paquete, instálelo ejecutando el yum install comando :

        sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
        
      • Si el paquete sigue instalado, ejecute el yum reinstall comando para reinstalarlo:

        sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
        
    2. Para regenerar o actualizar los certificados correspondientes, ejecute el comando update-ca-trust :

      sudo update-ca-trust
      

Causa 5: Error de comprobación en la versión 8 o 9 de RHEL ("Clave de certificado de CA demasiado débil")

El sistema intenta conectarse a un servidor que contiene un certificado firmado mediante claves RSA de 2048 bits. Sin embargo, el sistema tiene una FUTURE configuración de directiva que prohíbe ese algoritmo criptográfico. Los siguientes mensajes de error se muestran en el archivo /var/log/messages o /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?)]

La configuración predeterminada de la directiva del sistema es DEFAULT. En este escenario, la configuración predeterminada se cambió de DEFAULT a FUTURE o CUSTOM. La FUTURE directiva deshabilita algunos algoritmos que usan 2048 bits, como SHA-1, RSA y Diffie-Hellman. La CUSTOM directiva también podría deshabilitar estos algoritmos. Para identificar el modo de configuración de directiva actual, ejecute el siguiente comando update-crypto-policies :

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

Solución 5: Revertir a la directiva predeterminada del sistema criptográfico

Revierta la criptografía a la configuración de directiva del DEFAULT sistema siguiendo estos pasos:

  1. Vuelva a cambiar la configuración de directiva del sistema a DEFAULT mediante la ejecución del update-crypto-policies comando :

    sudo update-crypto-policies --set DEFAULT
    
  2. Compruebe que el cambio de directiva se realizó ejecutando el update-crypto-policies comando de nuevo:

    sudo update-crypto-policies --show
    
  3. Pruebe para asegurarse de que el error se corrigió mediante la ejecución del dnf install comando :

    sudo dnf install <package-name>
    

Para obtener más información sobre la directiva criptográfica, vea Valores predeterminados criptográficos seguros en RHEL 8 y desuso de algoritmos criptográficos débiles.

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.