Partager via


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

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:

  1. Vérifiez que le rhui-azure package (EUS, non-EUSou SAP/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
  2. 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.

  3. Réinstallez le package correspondant rhui-azure en exécutant la yum reinstall commande :

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
    
  4. Si le ou E4S le EUS dépôt est installé, verrouillez la releasever variable :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. 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

  1. Exécutez la commande yum install pour installer le package 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. Verrouillez la releasever variable :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 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 non-EUS

  1. Supprimez le fichier releasever s’il existe.

    sudo rm /etc/yum/vars/releasever
    
  2. Installez le rhui-azure-rhel7 package en exécutant la yum install commande :

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. 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.

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 .

  1. Installez le rhui-azure-rhel7-sapapps package en exécutant la yum install commande :

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

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 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.

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 .

  1. 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
    
  2. Verrouillez la releasever variable :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. 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 .

  1. Installez le rhui-azure-rhel9-sapapps package en exécutant la dnf install commande :

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
    
  2. Verrouillez le releasever niveau. Actuellement, la version doit être 9.0 ou 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. 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

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

  2. Mettez à jour, installez ou réinstallez le package ca-certificate une fois qu’il a été copié sur la machine virtuelle affectée :

    1. 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=*
        
    2. 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 :

  1. Modifiez le paramètre de stratégie système en DEFAULT exécutant la update-crypto-policies commande :

    sudo update-crypto-policies --set DEFAULT
    
  2. 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
    
  3. 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.