Résoudre les problèmes de certificat RHUI dans Azure
S’applique à : ✔️ Machines virtuelles Linux
Cet article traite des problèmes courants dans les certificats TLS (Transport Layer Security) ou SSL (Secure Sockets Layer Security) expirés ou manquants dans l’infrastructure de mise à jour Red Hat Update (RHUI).
Prerequisites
Accès SSH à la machine virtuelle (PAYG) Red Hat Enterprise Linux (RHEL) correspondante dans Azure
Privilèges racines
Important
RHUI est destiné uniquement aux images de paiement à l’utilisation (PAYG). Utilisez-vous plutôt des images personnalisées ou de référence (également appelées « bring-your-own-subscription (BYOS) » ? Dans ce cas, le système doit être attaché à Red Hat Subscription Manager (RHSM) ou Satellite pour recevoir des mises à jour. Pour plus d’informations, consultez Comment inscrire et abonner un système RHEL au portail client Red Hat à l’aide de RHSM.
Note
- À compter du 12 octobre 2023, tous les clients de paiement à l’utilisation (PAYG) ont été dirigés vers les adresses IP RHUI-4 en phases. Les adresses IP RHUI-3 restent disponibles pour les mises à jour continues, mais seront supprimées à l’avenir. Pour garantir un accès ininterrompu aux packages et aux mises à jour, vous devez mettre à jour des itinéraires et des règles existants qui autorisent l’accès aux adresses IP RHUI-3 pour inclure des adresses IP RHUI-4. Toutefois, pour continuer à recevoir des mises à jour pendant cette période de transition, ne supprimez pas les adresses IP RHUI-3.
- À compter de janvier 2020, les nouvelles images Azure US Government ont commencé à utiliser les adresses IP publiques mentionnées précédemment sous l’en-tête Global Azure.
Cause 1 : Le certificat client RHUI a expiré
Les certificats RHUI Azure expirent généralement tous les deux ans. Si vous utilisez une ancienne image de machine virtuelle RHEL, telle que RHEL version 7.4 (URN d’image : RedHat:RHEL:7.4:7.4.2018010506
), vous rencontrez une connectivité détériorée à RHUI en raison d’un certificat client TLS/SSL expiré. Par exemple, vous pouvez recevoir l’un des messages d’erreur suivants :
« L’homologue SSL a rejeté votre certificat comme expiré »
« Erreur : Impossible de récupérer les métadonnées du référentiel (repomd.xml) pour repository :_... Vérifiez son chemin d’accès et réessayez »
Vous devez appliquer un processus pour éviter l’expiration du certificat dans les anciennes images ou images créées juste avant une date d’expiration de certificat.
Solution 1 : Mettre à jour le package client RHUI
Pour accéder aux référentiels RHEL sur des systèmes à paiement à l’utilisation dans des environnements cloud, utilisez RHUI. En tant que fournisseur de cloud, Azure peut créer et publier des versions RPM de configuration client plus récentes à tout moment, comme pour les tâches suivantes :
- Fournir l’accès à un nouveau référentiel
- Renouvellement de certificats
- Apporter d’autres modifications d’empaquetage
Dans ce cas, vous devez installer le nouveau package RHUI dans le système. Ce package dispose du certificat renouvelé. Pour mettre à jour le package RHUI, exécutez la commande yum :
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft-azure*'
La commande sudo yum update
peut également mettre à jour le package de certificat client (en fonction de votre version RHEL). Cela est vrai même si la sortie de commande contient les mêmes erreurs de certificat SSL expirées que celles que vous voyez pour d’autres référentiels. Si la mise à jour fonctionne, vous devez restaurer une connectivité normale aux autres référentiels RHUI, afin de pouvoir exécuter sudo yum update
une deuxième fois.
Si vous recevez une erreur « 404 » lors de l’exécution yum update
, essayez d’exécuter les commandes suivantes pour actualiser votre cache yum :
sudo yum clean all
sudo yum makecache
Cause 2 : le certificat RHUI est manquant
La machine virtuelle Linux Azure Red Hat a déjà installé le package Azure RHUI. Toutefois, le certificat est manquant dans le répertoire /etc/pki/rhui/product/ .
Si le certificat RHUI a été supprimé de la machine virtuelle par erreur, le message d’erreur suivant s’affiche lorsque vous essayez d’installer ou de mettre à jour un package :
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?)]
Solution 2 : Réinstaller le package EUS, non-EUS ou SAP RHUI
Réinstallez le package RHUI correspondant pour régénérer les certificats manquants à l’emplacement approprié.
Toutes les commandes décrites dans les étapes suivantes doivent être exécutées à l’aide de privilèges racines ou en spécifiant sudo
:
Vérifiez que le
rhui-azure
package (EUS
,non-EUS
ouSAP/E4S
) est installé. Pour ce faire, exécutez la commande suivante :sudo rpm -qa | grep -i azure
rhui-azure-rhelX-<>-X.X-XXX.noarch
Pour plus d’informations sur le support de mise à jour étendu (EUS) ou les packages RHUI non-EUS, consultez les sections liées des articles suivants.
Type de package Lien Packages RHUI EUS Images Red Hat connectées aux référentiels EUS Packages RHUI non-EUS Images Red Hat connectées à des référentiels non EUS Packages RHUI update Services pour les abonnements SAP Solutions (SAP/E4S) Images Red Hat connectées aux référentiels SAP/E4S Vérifiez que le certificat existe :
sudo ls -l /etc/pki/rhui/product/
Note
Dans ce scénario, vous découvrez que le fichier est manquant.
Réinstallez le package correspondant
rhui-azure
en exécutant layum reinstall
commande :sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
Si le ou
E4S
leEUS
dépôt est installé, verrouillez lareleasever
variable :sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Vérifiez que le certificat existe en exécutant à nouveau la
ls
commande. Le fichier de certificat doit être répertorié maintenant :sudo ls -l /etc/pki/rhui/product/
Cause 3 : Le package RHUI est manquant
Le package RHUI EUS, non-EUS ou SAP/E4S est manquant à partir de la machine virtuelle Red Hat, mais les fichiers de configuration du référentiel existent toujours dans le répertoire /etc/yum.repos.d/ .
Lorsque vous essayez d’installer ou de mettre à jour un package, vous recevez le message d’erreur suivant :
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?)]
Solution 3 : Installer le package EUS, non-EUS ou SAP/E4S RHUI
Installez le package RHUI manquant pour EUS, non-EUS ou SAP/E4S.
Toutes les commandes suivantes doivent être exécutées à l’aide de privilèges racines ou en spécifiant sudo
.
Installation du package RHUI EUS
Exécutez la commande
yum install
pour installer le packagerhui-azure-rhel7-eus
:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
Verrouillez la
releasever
variable :sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Vérifiez que les référentiels correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la
yum repolist
commande :sudo yum repolist all
Note
Si vous utilisez un proxy dans /etc/yum.conf ou /etc/dnf.conf, la yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
commande ne fonctionne pas car elle n’inclut pas vos paramètres de proxy. Dans ce cas, utilisez les commandes suivantes :
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
Remplacez et
rhui-azure-rhel-X-X-X
parrhui-microsoft-azure-rhelX-X-X-X
les valeurs réelles, le cas échéant.
Installation du package RHUI non-EUS
Supprimez le fichier releasever s’il existe.
sudo rm /etc/yum/vars/releasever
Installez le
rhui-azure-rhel7
package en exécutant layum install
commande :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
Vérifiez que les référentiels correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la
yum repolist
commande :sudo yum repolist all
Note
Si vous utilisez un proxy dans /etc/yum.conf ou /etc/dnf.conf, la yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
commande ne fonctionne pas car elle n’inclut pas vos paramètres de proxy. Dans ce cas, utilisez les commandes suivantes :
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
Remplacez et rhui-azure-rhel-X-X-X
par rhui-microsoft-azure-rhelX-X-X-X
les valeurs réelles, le cas échéant.
Installation du package RHUI RHEL 7 SAP/E4S/HANA
Sélectionnez l’onglet d’un type d’image SAP pour afficher les instructions correspondantes.
- RHEL 7.x - RHEL-SAP-APPS
- RHEL 7.9 - RHEL-SAP-APPS
- RHEL 7.x - RHEL-SAP (ancienne offre)
- RHEL 7.x - RHEL-SAP-HA (E4S)
- RHEL 7.9 - RHEL-SAP-HA
Les étapes suivantes s’appliquent si la version du système d’exploitation est antérieure à RHEL 7.9 et que la machine virtuelle a été créée à l’aide de l’image de l’offre RHEL-SAP-APPS
.
Installez le
rhui-azure-rhel7-sapapps
package en exécutant layum install
commande :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
Verrouillez la
releasever
variable :sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Vérifiez que les référentiels correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la
yum repolist
commande :sudo yum repolist all
Note
Si vous utilisez un proxy dans /etc/yum.conf ou /etc/dnf.conf, la yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
commande ne fonctionne pas car elle n’inclut pas vos paramètres de proxy. Dans ce cas, utilisez les commandes suivantes :
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
Remplacez et rhui-azure-rhel-X-X-X
par rhui-microsoft-azure-rhelX-X-X-X
les valeurs réelles, le cas échéant.
Installation du package RHEL 8 SAP/E4S/HANA RHUI
Sélectionnez l’onglet d’un type d’image SAP pour afficher les instructions correspondantes.
- 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)
Les étapes suivantes s’appliquent si la version du système d’exploitation est antérieure à la dernière version prise en charge par SAP pour RHEL 8.X
et que la machine virtuelle a été créée à l’aide de l’image de l’offre RHEL-SAP-APPS
.
Installez le
rhui-azure-rhel8-sapapps
package en exécutant la commande dnf installation :sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
Verrouillez la
releasever
variable :sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
Vérifiez que les référentiels correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la
yum repolist
commande :sudo dnf repolist all
Note
Si vous utilisez un proxy dans /etc/yum.conf ou /etc/dnf.conf, la yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
commande ne fonctionne pas car elle n’inclut pas vos paramètres de proxy. Dans ce cas, utilisez les commandes suivantes :
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
Remplacez et rhui-azure-rhel-X-X-X
par rhui-microsoft-azure-rhelX-X-X-X
les valeurs réelles, le cas échéant.
Installation du package RHEL 9 SAP/HANA RHUI
Sélectionnez l’onglet d’un type d’image SAP pour afficher les instructions correspondantes.
Les étapes suivantes s’appliquent si la version du système d’exploitation est antérieure à la dernière version disponible prise en charge par SAP pour RHEL 9.0
, et si la machine virtuelle a été créée à l’aide de l’image de l’offre RHEL-SAP-APPS
.
Installez le
rhui-azure-rhel9-sapapps
package en exécutant ladnf install
commande :sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
Verrouillez le
releasever
niveau. Actuellement, la version doit être 9.0 ou 9.2.sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
Vérifiez que les référentiels correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la
yum repolist
commande :sudo dnf repolist all
Note
Si vous utilisez un proxy dans /etc/yum.conf ou /etc/dnf.conf, la yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
commande ne fonctionne pas car elle n’inclut pas vos paramètres de proxy. Dans ce cas, utilisez les commandes suivantes :
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
Remplacez et rhui-azure-rhel-X-X-X
par rhui-microsoft-azure-rhelX-X-X-X
les valeurs réelles, le cas échéant.
Cause 4 : Le certificat d’autorité de certification SSL est manquant
Le fichier de certificat ca-bundle.crt a été supprimé manuellement, endommagé ou obsolète.
Vous pouvez recevoir un message d’erreur semblable à la sortie suivante lorsque vous essayez d’exécuter des commandes 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.
Solution 4 : Mettre à jour ou réinstaller le package de certificats d’autorité de certification
Téléchargez le dernier package ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm à partir d’une autre machine virtuelle disposant d’un accès au référentiel et de la même version et de la même version red Hat. Ensuite, copiez le package sur la machine virtuelle affectée :
sudo yumdownloader ca-certificates sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
Note
Veillez à remplacer les espaces réservés d’adresse IP et d’utilisateur correspondants. Vérifiez également que vous remplacez le nom du package, ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm, en conséquence.
Mettez à jour, installez ou réinstallez le package
ca-certificate
une fois qu’il a été copié sur la machine virtuelle affectée :Vérifiez si le package est déjà installé :
sudo rpm -qa | grep "ca-certificates"
Si le package est manquant, installez-le en exécutant la
yum install
commande :sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
Si le package est déjà installé, exécutez la commande
yum reinstall
pour le réinstaller :sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
Pour régénérer ou mettre à jour les certificats correspondants, exécutez la commande update-ca-trust :
sudo update-ca-trust
Cause 5 : Erreur de vérification dans RHEL version 8 ou 9 (« Clé de certificat d’autorité de certification trop faible »)
Le système tente de se connecter à un serveur qui contient un certificat signé à l’aide de clés RSA 2048 bits. Toutefois, le système a un paramètre de stratégie FUTURE
qui interdit cet algorithme de cryptage. Les messages d’erreur suivants sont affichés dans le fichier /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?)]
Le paramètre de stratégie système par défaut est DEFAULT
. Dans ce scénario, le paramètre par défaut a été remplacé de DEFAULT
par FUTURE
ou CUSTOM
. La FUTURE
stratégie désactive certains algorithmes qui utilisent 2 048 bits, tels que SHA-1, RSA et Diffie-Hellman. La stratégie CUSTOM
peut également désactiver ces algorithmes. Pour identifier le mode de paramètre de stratégie actuel, exécutez la commande update-crypto-policies suivante :
sudo update-crypto-policies --show
DEFAULT:FUTURE
Solution 5 : Rétablir la stratégie de système de chiffrement par défaut
Rétablissez le chiffrement au paramètre de stratégie système DEFAULT
en procédant comme suit :
Modifiez le paramètre de stratégie système en
DEFAULT
exécutant laupdate-crypto-policies
commande :sudo update-crypto-policies --set DEFAULT
Vérifiez que la modification de la stratégie a été effectuée en exécutant à nouveau la commande
update-crypto-policies
:sudo update-crypto-policies --show
Testez pour vérifier que l’erreur est corrigée. Pour ce faire, exécutez la
dnf install
commande :sudo dnf install <package-name>
Pour plus d’informations sur la stratégie de chiffrement, consultez Valeurs par défaut de chiffrement fort dans RHEL 8 et dépréciation des algorithmes de chiffrement faibles.
Exclusion de responsabilité de tiers
Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.