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
:
Verificare che il
rhui-azure
pacchetto (EUS
,non-EUS
oSAP/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 Verificare che il certificato esista:
sudo ls -l /etc/pki/rhui/product/
Note
In questo scenario si scopre che il file è mancante.
Reinstallare il pacchetto corrispondente
rhui-azure
eseguendo ilyum reinstall
comando :sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
Se il
EUS
repository oE4S
è installato, bloccare lareleasever
variabile:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
Per installare il pacchetto
yum install
, usa il comandorhui-azure-rhel7-eus
:sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
Bloccare la
releasever
variabile:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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
erhui-azure-rhel-X-X-X
con i valori effettivi, in base alle esigenze.
Installazione del pacchetto RHUI non EUS
Rimuovere il file releasever, se esistente.
sudo rm /etc/yum/vars/releasever
Installare il
rhui-azure-rhel7
pacchetto eseguendo ilyum install
comando :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
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.
- RHEL 7.x - RHEL-SAP-APPS
- RHEL 7.9 - RHEL-SAP-APPS
- RHEL 7.x - RHEL-SAP (offerta precedente)
- RHEL 7.x - RHEL-SAP-HA (E4S)
- RHEL 7.9 - RHEL-SAP-HA
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
.
Installare il
rhui-azure-rhel7-sapapps
pacchetto eseguendo ilyum install
comando :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
Bloccare la
releasever
variabile:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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.
- 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)
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
.
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
Bloccare la
releasever
variabile:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
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.0
e se la macchina virtuale è stata creata usando l'immagine dell'offerta RHEL-SAP-APPS
.
Installare il
rhui-azure-rhel9-sapapps
pacchetto eseguendo ildnf install
comando :sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
Bloccare il
releasever
livello. Attualmente, la versione deve essere 9.0 o 9.2.sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
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
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.
Aggiornare, installare o reinstallare il pacchetto
ca-certificate
dopo che è stato copiato nella macchina virtuale interessata: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=*
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:
Modificare di nuovo
DEFAULT
l'impostazione dei criteri di sistema eseguendo ilupdate-crypto-policies
comando :sudo update-crypto-policies --set DEFAULT
Verificare che la modifica dei criteri sia stata eseguita eseguendo nuovamente il comando
update-crypto-policies
:sudo update-crypto-policies --show
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.