Compartir a través de


Solución de problemas de certificados RHUI en Azure

Se aplica a: ✔️ Máquinas virtuales Linux

En este artículo se describen los problemas comunes en los certificados de red Hat Update Infrastructure (RHUI) que están causados por certificados expirados o que faltan de seguridad de la capa de transporte (TLS) o capa de sockets seguros (SSL).

Requisitos previos

  • Acceso SSH a la máquina virtual (VM) de Pago por uso (PAYG) de Red Hat Enterprise Linux (RHEL) correspondiente en Azure

  • Privilegios raíz

Importante

RHUI está pensado únicamente 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 adjuntarse al Administrador de suscripciones de Red Hat (RHSM) o satélite 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 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 permitan 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 comenzaron a usar las direcciones IP públicas mencionadas anteriormente en el encabezado Global de Azure.

Causa 1: El certificado de cliente 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 a RHUI debido a un certificado de cliente TLS/SSL expirado ahora. Por ejemplo, puede recibir uno de los siguientes mensajes de error:

  • "Ssl peer rejected your certificate as expired" (El mismo nivel SSL rechazó el certificado como expirado)

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

Debe 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 RHUI

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

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

En esta situación, debe instalar el nuevo paquete RHUI en el sistema. Este paquete tiene el certificado renovado. Para actualizar el paquete RHUI, ejecute el comando yum :

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

El comando sudo yum update también puede actualizar el paquete de certificado de cliente (dependiendo de su versión de RHEL). Esto se cumple incluso si la salida del comando contiene los mismos errores de certificado SSL expirados que ve para otros repositorios. Si esta actualización es correcta, debe restaurar la conectividad normal a otros repositorios de RHUI, de modo que podrá ejecutar sudo yum update correctamente por 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 tiene el paquete de Azure RHUI ya instalado. Sin embargo, falta el certificado en el directorio /etcetera/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: Reinstalar el 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. Para ello, ejecute 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 RHUI de EUS Imágenes de Red Hat conectadas a repositorios de EUS
    Paquetes RHUI que no son de EUS Imágenes de Red Hat conectadas a repositorios que no son de EUS
    Actualizar servicios para suscripciones de soluciones de SAP (PAQUETES de RHUI de SAP/E4S) Imágenes de Red Hat conectadas a repositorios de SAP/E4S
  2. Compruebe que el certificado existe:

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

    Nota

    En este escenario, detectará 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-azure*"
    
  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 EUS de RHUI, no EUS o SAP/E4S de la máquina virtual de Red Hat, pero los archivos de configuración del repositorio siguen existiendo en el directorio /etcetera/yum.repos.d/ .

Al intentar instalar o actualizar un paquete, recibirá 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 RHUI de SAP/E4S

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 de paquetes RHUI de EUS

  1. Ejecute el comando yum install para instalar el paquete 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. 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 ningún error. Para ello, ejecute el yum repolist comando :

    sudo yum repolist all
    

Nota

Si usa un proxy en /etcetera/yum.conf o /etcetera/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 por los valores reales, según corresponda.

Instalación de paquetes RHUI que no son EUS

  1. Quite el archivo releasever si existe.

    sudo rm /etc/yum/vars/releasever
    
  2. Instale el rhui-azure-rhel7 paquete ejecutando el yum install comando :

    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 ningún error. Para ello, ejecute el yum repolist comando :

    sudo yum repolist all
    

Nota

Si usa un proxy en /etcetera/yum.conf o /etcetera/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 por los valores reales, según corresponda.

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 RHEL-SAP-APPS imagen de oferta.

  1. Instale el rhui-azure-rhel7-sapapps paquete ejecutando el 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. 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 ningún error. Para ello, ejecute el yum repolist comando :

    sudo yum repolist all
    

Nota

Si usa un proxy en /etcetera/yum.conf o /etcetera/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 por los valores reales, según corresponda.

Instalación de paquetes RHEL 8 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 la versión más reciente disponible compatible con SAP para RHEL 8.X y la máquina virtual se creó mediante la RHEL-SAP-APPS imagen de oferta.

  1. Instale el paquete mediante la ejecución del rhui-azure-rhel8-sapapps 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 ningún error. Para ello, ejecute el yum repolist comando :

    sudo dnf repolist all
    

Nota

Si usa un proxy en /etcetera/yum.conf o /etcetera/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 por los valores reales, según corresponda.

Instalación del paquete RHEL 9 SAP/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 la versión más reciente que está disponible compatible con SAP para RHEL 9.0y si la máquina virtual se creó mediante la RHEL-SAP-APPS imagen de oferta.

  1. Instale el rhui-azure-rhel9-sapapps paquete ejecutando el 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. Bloquee el releasever nivel. Actualmente, la versión debe 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 ningún error. Para ello, ejecute el yum repolist comando :

    sudo dnf repolist all
    

Nota

Si usa un proxy en /etcetera/yum.conf o /etcetera/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 por los valores reales, según corresponda.

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

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

  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 VM 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 dirección IP y de usuario 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 paquete ca-certificate después de copiarlo en la VM 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 comando yum reinstall para reinstalarlo:

        sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
        
    2. Para volver a generar 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 configuración de directiva FUTURE 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 de directiva del sistema predeterminada es DEFAULT. En este escenario, se cambió la configuración predeterminada de DEFAULT a FUTURE o CUSTOM. La FUTURE directiva deshabilita algunos algoritmos que usan 2048 bits, como SHA-1, RSA y Diffie-Hellman. La directiva CUSTOM también puede 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 de sistema criptográfico predeterminada

Revierta la criptografía a la configuración de directiva del sistema DEFAULT 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. Verifique que el cambio de directiva ha pasado mediante la ejecución del comando update-crypto-policies de nuevo:

    sudo update-crypto-policies --show
    
  3. Pruebe para asegurarse de que se corrigió el error. Para ello, ejecute el dnf install comando :

    sudo dnf install <package-name>
    

Para obtener más información sobre la directiva criptográfica, consulte 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.