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
:
Compruebe que el
rhui-azure
paquete (EUS
,non-EUS
oSAP/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 Compruebe que el certificado existe:
sudo ls -l /etc/pki/rhui/product/
Nota
En este escenario, detectará que falta el archivo.
Vuelva a instalar el paquete correspondiente
rhui-azure
ejecutando elyum reinstall
comando :sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
Si el
EUS
repositorio oE4S
está instalado, bloquee lareleasever
variable :sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
Ejecute el comando
yum install
para instalar el paqueterhui-azure-rhel7-eus
:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
Bloquee la
releasever
variable:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
yrhui-azure-rhel-X-X-X
por los valores reales, según corresponda.
Instalación de paquetes RHUI que no son EUS
Quite el archivo releasever si existe.
sudo rm /etc/yum/vars/releasever
Instale el
rhui-azure-rhel7
paquete ejecutando elyum install
comando :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
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.
- RHEL 7.x : RHEL-SAP-APPS
- RHEL 7.9: RHEL-SAP-APPS
- RHEL 7.x - RHEL-SAP (oferta anterior)
- RHEL 7.x - RHEL-SAP-HA (E4S)
- RHEL 7.9- RHEL-SAP-HA
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.
Instale el
rhui-azure-rhel7-sapapps
paquete ejecutando elyum install
comando :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
Bloquee la
releasever
variable:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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.
- RHEL 8.x : RHEL-SAP-APPS
- RHEL 8.10: RHEL-SAP-APPS
- RHEL 8.x - RHEL-SAP-HA (E4S)
- RHEL 8.10- RHEL-SAP-HA
- RHEL 8.x - RHEL-HA (E4S)
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.
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
Bloquee la
releasever
variable:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
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.0
y si la máquina virtual se creó mediante la RHEL-SAP-APPS
imagen de oferta.
Instale el
rhui-azure-rhel9-sapapps
paquete ejecutando eldnf install
comando :sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
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'
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
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.
Actualice, instale o vuelva a instalar el paquete
ca-certificate
después de copiarlo en la VM afectada: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=*
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:
Vuelva a cambiar la configuración de directiva del sistema a
DEFAULT
mediante la ejecución delupdate-crypto-policies
comando :sudo update-crypto-policies --set DEFAULT
Verifique que el cambio de directiva ha pasado mediante la ejecución del comando
update-crypto-policies
de nuevo:sudo update-crypto-policies --show
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.