Risolvere i problemi relativi ai certificati RHUI in Azure
Questo articolo illustra i problemi comuni nell'infrastruttura rhui (Red Hat Update Infrastructure) causati da certificati TLS (Transport Layer Security) o SSL (Secure Sockets Layer) scaduti o mancanti.
Prerequisiti
Accesso SSH alla macchina virtuale (VM) Red Hat Enterprise Linux (RHEL) con pagamento in base al consumo (PAYG) corrispondente in Azure.
Privilegi radice.
Importante
RHUI è destinato 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 usando RHSM.
Nota
- A partire dal 12 ottobre 2023, tutti i client con pagamento in base al consumo (PAYG) sono stati indirizzati agli INDIRIZZI IP Red Hat Update Infrastructure (RHUI) 4 in fasi. Gli indirizzi IP RHUI-3 rimangono disponibili per gli aggiornamenti continui, ma verranno rimossi in futuro. Per garantire l'accesso ininterrotto a pacchetti e aggiornamenti, è necessario aggiornare le route e le regole esistenti che consentono l'accesso agli INDIRIZZI IP RHUI-3 per includere gli 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 hanno iniziato a usare gli indirizzi IP pubblici indicati in precedenza nell'intestazione Globale di Azure.
Causa 1: il certificato client RHUI è scaduto
I certificati RHUI di Azure in genere scadono 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à a RHUI danneggiata a causa di un certificato client TLS/SSL scaduto. Ad esempio, è possibile che venga visualizzato 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 precedenti o nelle immagini 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 negli 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. Eseguire il comando yum per aggiornare il pacchetto RHUI:
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'
Il sudo yum update
comando potrebbe anche aggiornare il pacchetto di certificati client (a seconda della versione RHEL). Questo vale anche se l'output del comando contiene gli stessi errori del certificato SSL scaduti visualizzati per altri repository. Se l'aggiornamento ha esito positivo, è necessario ripristinare la connettività normale ad altri repository RHUI in modo da poter essere eseguito sudo yum update
correttamente una seconda volta.
Se si riceve 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: certificato RHUI mancante
Nella macchina virtuale Linux di Azure Red Hat è già installato il pacchetto RHUI Di Azure. Tuttavia, il certificato non è presente nella directory /etc/pki/rhui/product/ .
Se il certificato RHUI è stato rimosso dalla macchina virtuale per errore, 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-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 usando il comando seguente:sudo rpm -qa | grep -i azure
rhui-azure-rhelX-<>-X.X-XXX.noarch
Per altre informazioni sui pacchetti RHUI EUS (Extended Update Support) o non EUS, vedere le sezioni collegate degli articoli seguenti.
Tipo di pacchetto Collegamento 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 le sottoscrizioni di soluzioni SAP (SAP/E4S) Immagini Red Hat connesse ai repository SAP/E4S Verificare che il certificato esista:
sudo ls -l /etc/pki/rhui/product/
Nota
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*"
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 deve essere elencato ora:sudo ls -l /etc/pki/rhui/product/
Causa 3: pacchetto RHUI mancante
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 i privilegi radice o specificando sudo
.
Installazione del pacchetto RHUI EUS
Eseguire il
yum install
comando per installare ilrhui-azure-rhel7-eus
pacchetto: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 eseguendo il
yum repolist
comando :sudo yum repolist all
Nota
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
di conseguenza.
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 eseguendo il
yum repolist
comando :sudo yum repolist all
Nota
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
di conseguenza.
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
I passaggi seguenti si applicano 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 eseguendo il
yum repolist
comando :sudo yum repolist all
Nota
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
di conseguenza.
Installazione del pacchetto RHUI DI RHEL 8 SAP/E4S/HANA
Selezionare la scheda di un tipo di immagine SAP per visualizzare le istruzioni corrispondenti.
I passaggi seguenti si applicano se la versione del sistema operativo è precedente alla versione più recente disponibile supportata 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 eseguendo il
dnf repolist
comando :sudo dnf repolist all
Nota
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
di conseguenza.
Installazione del pacchetto RHUI DI RHEL 9 SAP/HANA
Selezionare la scheda di un tipo di immagine SAP per visualizzare le istruzioni corrispondenti.
I passaggi seguenti si applicano 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, 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
dnf repolist
comando :sudo dnf repolist all
Nota
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
di conseguenza.
Causa 4: Certificato CA SSL mancante
Il file di certificato ca-bundle.crt è stato eliminato manualmente, danneggiato o obsoleto.
Quando si tenta di eseguire yum
comandi, potrebbe essere visualizzato un messaggio di errore simile all'output seguente:
# 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 certificati 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 la 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
Nota
Assicurarsi di sostituire i segnaposto dell'utente e dell'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
ca-certificate
pacchetto dopo che è stato copiato nella macchina virtuale interessata:Verificare 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 è ancora installato, eseguire il
yum reinstall
comando 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 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 dispone di un'impostazione FUTURE
di criteri che impedisce tale 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?)]
L'impostazione predefinita dei criteri di sistema è DEFAULT
. In questo scenario l'impostazione predefinita è stata modificata da DEFAULT
a FUTURE
o CUSTOM
. Il FUTURE
criterio disabilita alcuni algoritmi che usano bit 2048, ad esempio SHA-1, RSA e Diffie-Hellman. I CUSTOM
criteri 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 per la DEFAULT
crittografia seguendo questa procedura:
Modificare nuovamente l'impostazione dei criteri di
DEFAULT
sistema su eseguendo ilupdate-crypto-policies
comando :sudo update-crypto-policies --set DEFAULT
Verificare che la modifica dei criteri sia stata eseguita eseguendo di nuovo il
update-crypto-policies
comando:sudo update-crypto-policies --show
Verificare che l'errore sia corretto eseguendo il
dnf install
comando :sudo dnf install <package-name>
Per altre informazioni sui criteri di crittografia, vedere Impostazioni predefinite crittografiche complesse in RHEL 8 e deprecazione degli 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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per