Résoudre les problèmes de certificat RHUI dans Azure

Cet article décrit les problèmes courants dans l’infrastructure de mise à jour Red Hat (RHUI) qui sont causés par des certificats TLS (Transport Layer Security) ou SSL (Transport Layer Security) ou SSL (Secure Sockets Layer) expirés ou manquants.

Conditions préalables

Importante

RHUI est destiné uniquement aux images avec paiement à l’utilisation. Utilisez-vous plutôt des images personnalisées ou dorées (également appelées « byOS (apportez votre propre abonnement) » ? Dans ce cas, le système doit être attaché à Red Hat Subscription Manager (RHSM) ou Satellite pour recevoir les mises à jour. Pour plus d’informations, consultez Inscription et abonnement d’un système RHEL au portail client Red Hat à l’aide de RHSM.

Remarque

  • À compter du 12 octobre 2023, tous les clients pay-as-you-go (PAYG) ont été dirigés vers les adresses IP Red Hat Update Infrastructure (RHUI) en plusieurs 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 les routes et les règles existantes 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.
  • À partir 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 constatez une dégradation de la connectivité à 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 ayant expiré »

  • « Erreur : Impossible de récupérer les métadonnées du dépôt (repomd.xml) pour le dépôt :_... 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 la date d’expiration d’un certificat.

Solution 1 : Mettre à jour le package client RHUI

Pour accéder aux référentiels RHEL sur des systèmes de 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, par exemple pour les tâches suivantes :

  • Fournir l’accès à un nouveau dépôt.
  • Renouvellement des certificats.
  • Apporter d’autres modifications à l’empaquetage.

Dans ce cas, vous devez installer le nouveau package RHUI dans le système. Ce package a le certificat renouvelé. Exécutez la commande yum pour mettre à jour le package RHUI :

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

La sudo yum update commande 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é que celles que vous voyez pour d’autres dépôts. Si cette mise à jour réussit, vous devez restaurer une connectivité normale à d’autres référentiels RHUI afin de pouvoir exécuter sudo yum update correctement une deuxième fois.

Si vous recevez une erreur « 404 » lorsque vous exécutez 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

Le package Azure Azure Red Hat Linux est déjà installé sur la machine virtuelle Azure Red Hat. 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 des étapes suivantes doivent être exécutées à l’aide de privilèges racine ou en spécifiant sudo:

  1. Vérifiez que le rhui-azure package (EUS, non-EUS, ou SAP/E4S) est installé à l’aide de la commande suivante :

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

    Pour plus d’informations sur la prise en charge des mises à jour étendues (EUS) ou les packages RHUI non-EUS, consultez les sections liées des articles suivants.

    Type de package Liens
    Packages RHUI EUS Images Red Hat connectées à des 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 à des référentiels SAP/E4S
  2. Vérifiez que le certificat existe :

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

    Remarque

    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*"
    
  4. Si le EUS référentiel ou E4S 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 réécutant 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 dans la machine virtuelle Red Hat, mais les fichiers de configuration du dépôt existent toujours dans le répertoire /etc/yum.repos.d/ .

Lorsque vous essayez d’installer ou de mettre à jour un package, le message d’erreur suivant s’affiche :

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 RHUI SAP/E4S

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 racine ou en spécifiant sudo.

Installation du package RHUI EUS

  1. Exécutez la yum install commande pour installer le rhui-azure-rhel7-eus package :

    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 en exécutant la yum repolist commande :

    sudo yum repolist all
    

Remarque

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 fonctionnera 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 rhui-microsoft-azure-rhelX-X-X-X et rhui-azure-rhel-X-X-X en conséquence.

Installation de 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 en exécutant la yum repolist commande :

    sudo yum repolist all
    

Remarque

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 fonctionnera 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 rhui-microsoft-azure-rhelX-X-X-X et rhui-azure-rhel-X-X-X en conséquence.

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 en exécutant la yum repolist commande :

    sudo yum repolist all
    

Remarque

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 fonctionnera 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 rhui-microsoft-azure-rhelX-X-X-X et rhui-azure-rhel-X-X-X en conséquence.

Installation du package RHUI RHEL 8 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 à la dernière version disponible prise en charge par SAP pour RHEL 8.X 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-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 en exécutant la dnf repolist commande :

    sudo dnf repolist all
    

Remarque

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 fonctionnera 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 rhui-microsoft-azure-rhelX-X-X-X et rhui-azure-rhel-X-X-X en conséquence.

Installation du package RHUI SAP/HANA RHUI RHEL 9

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.0et 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, il doit être 9.0 ou 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. Vérifiez que les dépôts correspondants sont disponibles et n’affichent aucune erreur. Pour ce faire, exécutez la dnf repolist commande :

    sudo dnf repolist all
    

Remarque

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 fonctionnera 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 rhui-microsoft-azure-rhelX-X-X-X et rhui-azure-rhel-X-X-X en conséquence.

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 qui ressemble à la sortie suivante lorsque vous essayez d’exécuter yum des commandes :

# 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 dépôt 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
    

    Remarque

    Veillez à remplacer l’utilisateur et les espaces réservés d’adresse IP correspondants. Veillez également à remplacer 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 ca-certificate package après sa copie 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 toujours installé, exécutez la commande pour le yum reinstall 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 FUTURE paramètre de stratégie qui interdit cet algorithme de chiffrement. 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é par DEFAULTFUTURE ou CUSTOM. La FUTURE stratégie désactive certains algorithmes qui utilisent 2 048 bits, tels que SHA-1, RSA et Diffie-Hellman. La CUSTOM stratégie 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 DEFAULT paramètre de stratégie système en procédant comme suit :

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

    sudo update-crypto-policies --set DEFAULT
    
  2. Vérifiez que la modification de stratégie a été effectuée en réécutant la update-crypto-policies commande :

    sudo update-crypto-policies --show
    
  3. Vérifiez que l’erreur est corrigée en exécutant 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 fortes 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.