Condividi tramite


Risolvere i problemi relativi ai certificati RHUI in Azure

Si applica a: ✔️ macchine virtuali Linux

Questo articolo illustra i problemi comuni relativi all'infrastruttura RHUI (Red Hat Update Infrastructure) causati da certificati TRANSPORT Layer Security (TLS) scaduti o mancanti o SSL (Secure Sockets Layer).

Prerequisiti

  • Accesso SSH alla macchina virtuale (PAYG) Red Hat Enterprise Linux (RHEL) con pagamento in base al consumo (PAYG) corrispondente in Azure

  • Privilegi radice

Importante

L'infrastruttura RHUI è destinata solo alle immagini con pagamento in base al consumo. Si usano invece immagini personalizzate o golden, note anche come "bring-your-own-subscription (BYOS)"? In tal caso, il sistema deve essere collegato a Red Hat Subscription Manager (RHSM) o Satellite per ricevere gli aggiornamenti. Per altre informazioni, vedere Come registrare e sottoscrivere un sistema RHEL al portale clienti di Red Hat utilizzando RHSM.

Note

  • A partire dal 12 ottobre 2023, tutti i clienti con pagamento in base al consumo sono stati indirizzati agli indirizzi IP RHUI-4 nelle fasi. Gli indirizzi IP RHUI-3 rimangono disponibili per gli aggiornamenti continui, ma verranno rimossi in futuro. Per garantire l'accesso ininterrotto ai pacchetti e agli aggiornamenti, è necessario aggiornare le route e le regole esistenti che consentono l'accesso agli indirizzi IP RHUI-3 per includere indirizzi IP RHUI-4. Tuttavia, per continuare a ricevere gli aggiornamenti durante questo periodo di transizione, non rimuovere gli INDIRIZZI IP RHUI-3.
  • A partire da gennaio 2020, le nuove immagini di Azure US Government iniziarono a usare gli indirizzi IP pubblici menzionati in precedenza nell'intestazione Globale di Azure.

Causa 1: il certificato client RHUI è scaduto

I certificati RHUI di Azure scadono in genere ogni due anni. Se si usa un'immagine di macchina virtuale RHEL precedente, ad esempio RHEL versione 7.4 (URN immagine: RedHat:RHEL:7.4:7.4.2018010506), si verifica una connettività danneggiata a RHUI a causa di un certificato client TLS/SSL ora scaduto. Ad esempio, è possibile ricevere uno dei messaggi di errore seguenti:

  • "Il peer SSL ha rifiutato il certificato come scaduto"

  • "Errore: Impossibile recuperare i metadati del repository (repomd.xml) per repository:_... Verificare il percorso e riprovare"

È necessario applicare un processo per evitare la scadenza del certificato nelle immagini o nelle immagini precedenti create poco prima di una data di scadenza del certificato.

Soluzione 1: Aggiornare il pacchetto client RHUI

Per accedere ai repository RHEL nei sistemi con pagamento in base al consumo in ambienti cloud, usare RHUI. In qualità di provider di servizi cloud, Azure può creare e pubblicare versioni RPM di configurazione client più recenti in qualsiasi momento, ad esempio per le attività seguenti:

  • Fornire l'accesso a un nuovo repository
  • Rinnovo dei certificati
  • Apportare altre modifiche alla creazione di pacchetti

In questo caso, è necessario installare il nuovo pacchetto RHUI nel sistema. Questo pacchetto ha il certificato rinnovato. Per aggiornare il pacchetto RHUI, eseguire il comando yum :

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

Il comando sudo yum update potrebbe anche aggiornare il pacchetto del certificato client (a seconda della versione di RHEL). Questo vale anche se l'output del comando contiene gli stessi errori di certificato SSL scaduti visualizzati per altri repository. Se l'aggiornamento ha esito positivo, dovrebbe essere ripristinata la normale connettività agli altri repository RHUI e sarà possibile eseguire sudo yum update.

Se viene visualizzato un errore "404" quando si esegue yum update, provare a eseguire i comandi seguenti per aggiornare la cache yum:

sudo yum clean all
sudo yum makecache

Causa 2: Manca il certificato RHUI

La macchina virtuale Linux di Azure Red Hat ha già installato il pacchetto RHUI Di Azure. Tuttavia, il certificato non è presente nella directory /etc/pki/rhui/product/ .

Se il certificato RHUI è stato rimosso per errore dalla macchina virtuale, viene visualizzato il messaggio di errore seguente quando si tenta di installare o aggiornare un pacchetto:

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?)]

Soluzione 2: Reinstallare il pacchetto EUS, non EUS o SAP RHUI

Reinstallare il pacchetto RHUI corrispondente per rigenerare i certificati mancanti nella posizione corretta.

Tutti i comandi nei passaggi seguenti devono essere eseguiti usando i privilegi radice o specificando sudo:

  1. Verificare che il rhui-azure pacchetto (EUS, non-EUSo SAP/E4S) sia installato. A tale scopo, utilizzare il seguente comando:

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

    Per altre informazioni sui pacchetti EUS (Extended Update Support) o RHUI non EUS, vedere le sezioni collegate degli articoli seguenti.

    Tipo di pacchetto Collega
    Pacchetti RHUI EUS Immagini Red Hat connesse ai repository EUS
    Pacchetti RHUI non EUS Immagini Red Hat connesse a repository non EUS
    Pacchetti RHUI di Update Services per soluzioni SAP (SAP/E4S) Immagini Red Hat connesse ai repository SAP/E4S
  2. Verificare che il certificato esista:

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

    Note

    In questo scenario si scopre che il file è mancante.

  3. Reinstallare il pacchetto corrispondente rhui-azure eseguendo il yum reinstall comando :

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
    
  4. Se il EUS repository o E4S è installato, bloccare la releasever variabile:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. Verificare che il certificato esista eseguendo di nuovo il ls comando . Il file del certificato dovrebbe essere elencato ora:

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

Causa 3: Manca il pacchetto RHUI

Il pacchetto RHUI EUS, non EUS o SAP/E4S non è presente nella macchina virtuale Red Hat, ma i file di configurazione del repository sono ancora presenti nella directory /etc/yum.repos.d/ .

Quando si tenta di installare o aggiornare un pacchetto, viene visualizzato il messaggio di errore seguente:

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?)]

Soluzione 3: Installare il pacchetto RHUI EUS, non EUS o SAP/E4S

Installare il pacchetto RHUI mancante per EUS, non EUS o SAP/E4S.

Tutti i comandi seguenti devono essere eseguiti usando privilegi radice o specificando sudo.

Installazione del pacchetto RHUI EUS

  1. Per installare il pacchetto yum install, usa il comando 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. Bloccare la releasever variabile:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Verificare che i repository corrispondenti siano disponibili e che non vengano visualizzati errori. A tale scopo, eseguire il yum repolist comando :

    sudo yum repolist all
    

Note

Se si usa un proxy in /etc/yum.conf o /etc/dnf.conf, il yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando non funzionerà perché non include le impostazioni proxy. In questo caso, usare i comandi seguenti:

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

Sostituire rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X con i valori effettivi, in base alle esigenze.

Installazione del pacchetto RHUI non EUS

  1. Rimuovere il file releasever, se esistente.

    sudo rm /etc/yum/vars/releasever
    
  2. Installare il rhui-azure-rhel7 pacchetto eseguendo il yum install comando :

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. Verificare che i repository corrispondenti siano disponibili e che non vengano visualizzati errori. A tale scopo, eseguire il yum repolist comando :

    sudo yum repolist all
    

Note

Se si usa un proxy in /etc/yum.conf o /etc/dnf.conf, il yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando non funzionerà perché non include le impostazioni proxy. In questo caso, usare i comandi seguenti:

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

Sostituire rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X con i valori effettivi, in base alle esigenze.

Installazione del pacchetto RHUI di RHEL 7 SAP/E4S/HANA

Selezionare la scheda di un tipo di immagine SAP per visualizzare le istruzioni corrispondenti.

La procedura seguente si applica se la versione del sistema operativo è precedente a RHEL 7.9 e la macchina virtuale è stata creata usando l'immagine dell'offerta RHEL-SAP-APPS .

  1. Installare il rhui-azure-rhel7-sapapps pacchetto eseguendo il 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. Bloccare la releasever variabile:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. Verificare che i repository corrispondenti siano disponibili e che non vengano visualizzati errori. A tale scopo, eseguire il yum repolist comando :

    sudo yum repolist all
    

Note

Se si usa un proxy in /etc/yum.conf o /etc/dnf.conf, il yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando non funzionerà perché non include le impostazioni proxy. In questo caso, usare i comandi seguenti:

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

Sostituire rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X con i valori effettivi, in base alle esigenze.

Installazione del pacchetto RHUI RHEL 8 SAP/E4S/HANA

Selezionare la scheda di un tipo di immagine SAP per visualizzare le istruzioni corrispondenti.

La procedura seguente si applica se la versione del sistema operativo è precedente alla versione più recente disponibile da SAP per RHEL 8.X e la macchina virtuale è stata creata usando l'immagine dell'offerta RHEL-SAP-APPS .

  1. Installare il rhui-azure-rhel8-sapapps pacchetto eseguendo il comando di installazione dnf :

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
    
  2. Bloccare la releasever variabile:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. Verificare che i repository corrispondenti siano disponibili e che non vengano visualizzati errori. A tale scopo, eseguire il yum repolist comando :

    sudo dnf repolist all
    

Note

Se si usa un proxy in /etc/yum.conf o /etc/dnf.conf, il yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando non funzionerà perché non include le impostazioni proxy. In questo caso, usare i comandi seguenti:

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

Sostituire rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X con i valori effettivi, in base alle esigenze.

Installazione del pacchetto RHUI di RHEL 9 SAP/HANA

Selezionare la scheda di un tipo di immagine SAP per visualizzare le istruzioni corrispondenti.

La procedura seguente si applica se la versione del sistema operativo è precedente alla versione più recente disponibile supportata da SAP per RHEL 9.0e se la macchina virtuale è stata creata usando l'immagine dell'offerta RHEL-SAP-APPS .

  1. Installare il rhui-azure-rhel9-sapapps pacchetto eseguendo il 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. Bloccare il releasever livello. Attualmente, la versione deve essere 9.0 o 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. Verificare che i repository corrispondenti siano disponibili e che non vengano visualizzati errori. A tale scopo, eseguire il yum repolist comando :

    sudo dnf repolist all
    

Note

Se si usa un proxy in /etc/yum.conf o /etc/dnf.conf, il yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X comando non funzionerà perché non include le impostazioni proxy. In questo caso, usare i comandi seguenti:

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

Sostituire rhui-microsoft-azure-rhelX-X-X-X e rhui-azure-rhel-X-X-X con i valori effettivi, in base alle esigenze.

Causa 4: Manca il certificato DELLA CA SSL

Il file di certificato ca-bundle.crt è stato eliminato manualmente, è danneggiato o è obsoleto.

È possibile che venga visualizzato un messaggio di errore simile all'output seguente quando si tenta di eseguire i comandi 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.

Soluzione 4: Aggiornare o reinstallare il pacchetto di certificati DELLA CA

  1. Scaricare il pacchetto ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm più recente da un'altra macchina virtuale con accesso al repository e alla stessa versione e versione di Red Hat. Copiare quindi il pacchetto nella macchina virtuale interessata:

    sudo yumdownloader ca-certificates
    sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
    

    Note

    Assicurarsi di sostituire i segnaposto utente e indirizzo IP corrispondenti. Assicurarsi inoltre di sostituire il nome del pacchetto, ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm, di conseguenza.

  2. Aggiornare, installare o reinstallare il pacchetto ca-certificate dopo che è stato copiato nella macchina virtuale interessata:

    1. Controllare se il pacchetto è già installato:

      sudo rpm -qa | grep "ca-certificates"
      
      • Se il pacchetto non è presente, installarlo eseguendo il yum install comando :

        sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
        
      • Se il pacchetto è già installato, eseguire il comando yum reinstall per reinstallarlo:

        sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
        
    2. Per rigenerare o aggiornare i certificati corrispondenti, eseguire il comando update-ca-trust :

      sudo update-ca-trust
      

Causa 5: Errore di verifica in RHEL versione 8 o 9 ("chiave del certificato CA troppo debole")

Il sistema tenta di connettersi a un server che contiene un certificato firmato usando chiavi RSA a 2048 bit. Tuttavia, il sistema ha un'impostazione di criteri FUTURE che impedisce l'algoritmo di crittografia. I messaggi di errore seguenti vengono visualizzati nel file /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?)]

Questa impostazione è DEFAULT per impostazione predefinita. In questo scenario, l'impostazione predefinita è stata modificata da DEFAULT a FUTURE o CUSTOM. Il FUTURE criterio disabilita alcuni algoritmi che usano 2.048 bit, ad esempio SHA-1, RSA e Diffie-Hellman. I criteri CUSTOM potrebbero anche disabilitare questi algoritmi. Per identificare la modalità di impostazione dei criteri corrente, eseguire il comando update-crypto-policies seguente:

sudo update-crypto-policies --show
DEFAULT:FUTURE

Soluzione 5: Ripristinare i criteri di sistema di crittografia predefiniti

Ripristinare l'impostazione dei criteri di sistema ripristinando la crittografia DEFAULT seguendo questa procedura:

  1. Modificare di nuovo DEFAULT l'impostazione dei criteri di sistema eseguendo il update-crypto-policies comando :

    sudo update-crypto-policies --set DEFAULT
    
  2. Verificare che la modifica dei criteri sia stata eseguita eseguendo nuovamente il comando update-crypto-policies:

    sudo update-crypto-policies --show
    
  3. Verificare che l'errore sia stato corretto. A tale scopo, eseguire il dnf install comando :

    sudo dnf install <package-name>
    

Per altre informazioni sui criteri di crittografia, vedere Impostazioni predefinite di crittografia avanzate in RHEL 8 e deprecazione di algoritmi di crittografia deboli.

Dichiarazione di non responsabilità sulle informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.