Rozwiązywanie problemów z certyfikatami RHUI na platformie Azure
Dotyczy: ✔️ maszyny wirtualne z systemem Linux
W tym artykule omówiono typowe problemy związane z infrastrukturą aktualizacji systemu Red Hat (RHUI), które są spowodowane wygasłymi lub brakującymi certyfikatami protokołu Transport Layer Security (TLS) lub Secure Sockets Layer (SSL).
Wymagania wstępne
Dostęp SSH do odpowiedniej maszyny wirtualnej z systemem Red Hat Enterprise Linux (RHEL) z płatnością zgodnie z rzeczywistym użyciem (PAYG) na platformie Azure
Uprawnienia główne
Ważne
Funkcja RHUI jest przeznaczona tylko dla obrazów z płatnością zgodnie z rzeczywistym użyciem. Czy używasz obrazów niestandardowych lub złotych (nazywanych również "bring-your-own-subscription (BYOS)") zamiast tego? W takim przypadku system musi być dołączony do menedżera subskrypcji Red Hat (RHSM) lub satelity w celu otrzymywania aktualizacji. Aby uzyskać więcej informacji, zobacz How to register and subscribe an RHEL system to the Red Hat Customer Portal using RHSM (Jak zarejestrować i zasubskrybować system RHEL w witrynie Red Hat Customer Portal przy użyciu programu RHSM).
Uwaga 16.
- Od 12 października 2023 r. wszyscy klienci z płatnością zgodnie z rzeczywistym użyciem (PAYG) zostali przekierowani do adresów IP RHUI-4 w fazach. Adresy IP RHUI-3 pozostają dostępne dla ciągłych aktualizacji, ale zostaną usunięte w przyszłości. Aby zapewnić nieprzerwany dostęp do pakietów i aktualizacji, należy zaktualizować istniejące trasy i reguły, które umożliwiają dostęp do adresów IP RHUI-3 w celu uwzględnienia adresów IP RHUI-4. Jednak w celu kontynuowania odbierania aktualizacji w tym okresie przejściowym nie usuwaj adresów IP RHUI-3.
- Od stycznia 2020 r. nowe obrazy platformy Azure US Government zaczęły używać publicznych adresów IP wymienionych wcześniej w nagłówku Globalnym platformy Azure.
Przyczyna 1. Certyfikat klienta RHUI wygasł
Certyfikaty AZURE RHUI zwykle wygasają co dwa lata. Jeśli używasz starszego obrazu maszyny wirtualnej RHEL, takiego jak RHEL w wersji 7.4 (urN obrazu: RedHat:RHEL:7.4:7.4.2018010506
), występuje obniżona łączność z rhUI z powodu obecnie wygasłego certyfikatu klienta TLS/SSL. Na przykład może zostać wyświetlony jeden z następujących komunikatów o błędach:
"Element równorzędny SSL odrzucił certyfikat jako wygasły"
"Błąd: Nie można pobrać metadanych repozytorium (repomd.xml) dla repozytorium:_... Sprawdź swoją ścieżkę i spróbuj ponownie"
Należy zastosować proces, aby uniknąć wygaśnięcia certyfikatu na starych obrazach lub obrazach utworzonych tuż przed datą wygaśnięcia certyfikatu.
Rozwiązanie 1. Aktualizowanie pakietu klienta RHUI
Aby uzyskać dostęp do repozytoriów RHEL w systemach z płatnością zgodnie z rzeczywistym użyciem w środowiskach w chmurze, użyj funkcji RHUI. Jako dostawca usług w chmurze platforma Azure może tworzyć i publikować nowsze wersje konfiguracji klienta RPM w dowolnym momencie, tak jak w przypadku następujących zadań:
- Zapewnianie dostępu do nowego repozytorium
- Odnawianie certyfikatów
- Wprowadzanie innych zmian w pakietach
W takiej sytuacji należy zainstalować nowy pakiet RHUI w systemie. Ten pakiet ma odnowiony certyfikat. Aby zaktualizować pakiet RHUI, uruchom polecenie yum :
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft-azure*'
Polecenie sudo yum update
może również zaktualizować pakiet certyfikatu klienta (w zależności od wersji RHEL). Jest to prawdą, nawet jeśli dane wyjściowe polecenia zawierają te same błędy związane z wygaśnięciem certyfikatu SSL, które są widoczne w przypadku innych repozytoriów. Jeśli ta aktualizacja zakończy się pomyślnie, musisz przywrócić normalną łączność z innymi repozytoriami RHUI, aby można było uruchomić sudo yum update
pomyślnie po raz drugi.
Jeśli podczas uruchamiania yum update
zostanie wyświetlony błąd "404", spróbuj uruchomić następujące polecenia, aby odświeżyć pamięć podręczną yum:
sudo yum clean all
sudo yum makecache
Przyczyna 2. Brak certyfikatu RHUI
Maszyna wirtualna azure Red Hat Linux ma już zainstalowany pakiet RHUI platformy Azure. Jednak w katalogu /etc/pki/rhui/product/ brakuje certyfikatu.
Jeśli certyfikat RHUI został usunięty z maszyny wirtualnej przez pomyłkę, podczas próby zainstalowania lub zaktualizowania pakietu pojawia się następujący komunikat o błędzie:
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?)]
Rozwiązanie 2. Ponowne zainstalowanie pakietu EUS, innego niż EUS lub SAP RHUI
Zainstaluj ponownie odpowiedni pakiet RHUI, aby ponownie wygenerować brakujące certyfikaty w prawidłowej lokalizacji.
Wszystkie polecenia opisane w poniższych krokach powinny być uruchamiane przy użyciu uprawnień głównych lub przez określenie polecenia sudo
:
Sprawdź,
rhui-azure
czy zainstalowano pakiet (EUS
,non-EUS
lubSAP/E4S
). Aby to zrobić, uruchom następujące polecenie:sudo rpm -qa | grep -i azure
rhui-azure-rhelX-<>-X.X-XXX.noarch
Aby uzyskać więcej informacji na temat rozszerzonych pakietów AKTUALIZACJI (EUS) lub innych niż EUS RHUI, zobacz połączone sekcje poniższych artykułów.
Typ pakietu Link Pakiety EUS RHUI Obrazy oprogramowania Red Hat połączone z repozytoriami EUS Pakiety RHUI innych niż EUS Obrazy oprogramowania Red Hat połączone z repozytoriami innych niż EUS Pakiety RHUI (SAP/E4S) update Services dla subskrypcji rozwiązań SAP Obrazy oprogramowania Red Hat połączone z repozytoriami SAP/E4S Sprawdź, czy certyfikat istnieje:
sudo ls -l /etc/pki/rhui/product/
Uwaga 16.
W tym scenariuszu dowiesz się, że brakuje pliku.
Zainstaluj ponownie odpowiedni
rhui-azure
pakiet, uruchamiającyum reinstall
polecenie :sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
EUS
Jeśli zainstalowano repozytorium lubE4S
, zablokuj zmiennąreleasever
:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Sprawdź, czy certyfikat istnieje, uruchamiając
ls
ponownie polecenie. Plik certyfikatu powinien być teraz wymieniony:sudo ls -l /etc/pki/rhui/product/
Przyczyna 3. Brak pakietu RHUI
Brak pakietu RHUI EUS, innego niż EUS lub SAP/E4S z maszyny wirtualnej Red Hat, ale pliki konfiguracji repozytorium nadal istnieją w katalogu /etc/yum.repos.d/ .
Podczas próby zainstalowania lub zaktualizowania pakietu zostanie wyświetlony następujący komunikat o błędzie:
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?)]
Rozwiązanie 3. Instalowanie pakietu EUS, innego niż EUS lub SAP/E4S RHUI
Zainstaluj brakujący pakiet RHUI dla systemów EUS, innych niż EUS lub SAP/E4S.
Wszystkie poniższe polecenia powinny być uruchamiane przy użyciu uprawnień głównych lub przez określenie .sudo
Instalacja pakietu EUS RHUI
Aby zainstalować pakiet
rhui-azure-rhel7-eus
, uruchom polecenieyum install
.sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
Zablokuj zmienną
releasever
:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Sprawdź, czy odpowiednie repozytoria są dostępne i czy nie są wyświetlane żadne błędy. Aby to zrobić, uruchom
yum repolist
polecenie:sudo yum repolist all
Uwaga 16.
Jeśli używasz serwera proxy w pliku /etc/yum.conf lub /etc/dnf.conf, polecenie nie będzie działać, yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
ponieważ nie zawiera ustawień serwera proxy. W tym przypadku użyj następujących poleceń:
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
Zastąp
rhui-microsoft-azure-rhelX-X-X-X
wartości irhui-azure-rhel-X-X-X
wartościami rzeczywistymi odpowiednio.
Instalacja pakietu RHUI spoza UES
Usuń plik releasever, jeśli istnieje.
sudo rm /etc/yum/vars/releasever
rhui-azure-rhel7
Zainstaluj pakiet, uruchamiającyum install
polecenie :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
Sprawdź, czy odpowiednie repozytoria są dostępne i czy nie są wyświetlane żadne błędy. Aby to zrobić, uruchom
yum repolist
polecenie:sudo yum repolist all
Uwaga 16.
Jeśli używasz serwera proxy w pliku /etc/yum.conf lub /etc/dnf.conf, polecenie nie będzie działać, yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
ponieważ nie zawiera ustawień serwera proxy. W tym przypadku użyj następujących poleceń:
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
Zastąp rhui-microsoft-azure-rhelX-X-X-X
wartości i rhui-azure-rhel-X-X-X
wartościami rzeczywistymi odpowiednio.
Instalacja pakietu RHEL 7 SAP/E4S/HANA RHUI
Wybierz kartę typu obrazu SAP, aby wyświetlić odpowiednie instrukcje.
- RHEL 7.x — RHEL-SAP-APPS
- RHEL 7.9 — RHEL-SAP-APPS
- RHEL 7.x — RHEL-SAP (stara oferta)
- RHEL 7.x — RHEL-SAP-HA (E4S)
- RHEL 7.9 — RHEL-SAP-HA
Poniższe kroki mają zastosowanie, jeśli wersja systemu operacyjnego jest starsza niż RHEL 7.9 , a maszyna wirtualna została utworzona przy użyciu RHEL-SAP-APPS
obrazu oferty.
rhui-azure-rhel7-sapapps
Zainstaluj pakiet, uruchamiającyum install
polecenie :sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
Zablokuj zmienną
releasever
:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
Sprawdź, czy odpowiednie repozytoria są dostępne i czy nie są wyświetlane żadne błędy. Aby to zrobić, uruchom
yum repolist
polecenie:sudo yum repolist all
Uwaga 16.
Jeśli używasz serwera proxy w pliku /etc/yum.conf lub /etc/dnf.conf, polecenie nie będzie działać, yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
ponieważ nie zawiera ustawień serwera proxy. W tym przypadku użyj następujących poleceń:
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
Zastąp rhui-microsoft-azure-rhelX-X-X-X
wartości i rhui-azure-rhel-X-X-X
wartościami rzeczywistymi odpowiednio.
Instalacja pakietu RHEL 8 SAP/E4S/HANA RHUI
Wybierz kartę typu obrazu SAP, aby wyświetlić odpowiednie instrukcje.
- 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)
Poniższe kroki mają zastosowanie, jeśli wersja systemu operacyjnego jest wcześniejsza niż najnowsza dostępna wersja obsługiwana przez oprogramowanie SAP dla RHEL 8.X
programu , a maszyna wirtualna została utworzona przy użyciu RHEL-SAP-APPS
obrazu oferty.
rhui-azure-rhel8-sapapps
Zainstaluj pakiet, uruchamiając polecenie instalacji systemu plików dnf:sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
Zablokuj zmienną
releasever
:sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
Sprawdź, czy odpowiednie repozytoria są dostępne i czy nie są wyświetlane żadne błędy. Aby to zrobić, uruchom
yum repolist
polecenie:sudo dnf repolist all
Uwaga 16.
Jeśli używasz serwera proxy w pliku /etc/yum.conf lub /etc/dnf.conf, polecenie nie będzie działać, yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
ponieważ nie zawiera ustawień serwera proxy. W tym przypadku użyj następujących poleceń:
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
Zastąp rhui-microsoft-azure-rhelX-X-X-X
wartości i rhui-azure-rhel-X-X-X
wartościami rzeczywistymi odpowiednio.
Instalacja pakietu RHEL 9 SAP/HANA RHUI
Wybierz kartę typu obrazu SAP, aby wyświetlić odpowiednie instrukcje.
Poniższe kroki mają zastosowanie, jeśli wersja systemu operacyjnego jest wcześniejsza niż najnowsza dostępna wersja obsługiwana przez oprogramowanie SAP dla RHEL 9.0
programu , a jeśli maszyna wirtualna została utworzona przy użyciu RHEL-SAP-APPS
obrazu oferty.
rhui-azure-rhel9-sapapps
Zainstaluj pakiet, uruchamiającdnf install
polecenie :sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
releasever
Zablokuj poziom. Obecnie wersja musi być w wersji 9.0 lub 9.2.sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
Sprawdź, czy odpowiednie repozytoria są dostępne i czy nie są wyświetlane żadne błędy. Aby to zrobić, uruchom
yum repolist
polecenie:sudo dnf repolist all
Uwaga 16.
Jeśli używasz serwera proxy w pliku /etc/yum.conf lub /etc/dnf.conf, polecenie nie będzie działać, yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X
ponieważ nie zawiera ustawień serwera proxy. W tym przypadku użyj następujących poleceń:
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
Zastąp rhui-microsoft-azure-rhelX-X-X-X
wartości i rhui-azure-rhel-X-X-X
wartościami rzeczywistymi odpowiednio.
Przyczyna 4. Brak certyfikatu urzędu certyfikacji SSL
Plik certyfikatu ca-bundle.crt został ręcznie usunięty, został uszkodzony lub jest nieaktualny.
Podczas próby uruchomienia poleceń yum
może zostać wyświetlony komunikat o błędzie podobny do następujących danych wyjściowych:
# 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.
Rozwiązanie 4. Aktualizowanie lub ponowne instalowanie pakietu certyfikatów urzędu certyfikacji
Pobierz najnowszy pakiet ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm z innej maszyny wirtualnej z dostępem do repozytorium i tą samą wersją i wydaniem oprogramowania Red Hat. Następnie skopiuj pakiet do maszyny wirtualnej, której dotyczy problem:
sudo yumdownloader ca-certificates sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
Uwaga 16.
Upewnij się, że zastąpisz odpowiednie symbole zastępcze użytkownika i adresu IP. Upewnij się również, że odpowiednio zastąpisz nazwę pakietu ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm.
Zaktualizuj, zainstaluj lub ponownie zainstaluj pakiet
ca-certificate
po skopiowaniu go do maszyny wirtualnej, której dotyczy problem:Sprawdź, czy pakiet jest już zainstalowany:
sudo rpm -qa | grep "ca-certificates"
Jeśli brakuje pakietu, zainstaluj go, uruchamiając
yum install
polecenie :sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
Jeśli pakiet jest zainstalowany, uruchom polecenie
yum reinstall
, aby go ponownie zainstalować:sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
Aby ponownie wygenerować lub zaktualizować odpowiednie certyfikaty, uruchom polecenie update-ca-trust :
sudo update-ca-trust
Przyczyna 5. Błąd weryfikacji w systemie RHEL w wersji 8 lub 9 ("Klucz certyfikatu urzędu certyfikacji jest zbyt słaby")
System próbuje nawiązać połączenie z serwerem zawierającym certyfikat podpisany przy użyciu 2048-bitowych kluczy RSA. Jednak system ma ustawienie zasad FUTURE
, które zabrania tego algorytmu kryptograficznego. Następujące komunikaty o błędach są wyświetlane w pliku /var/log/messages lub /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?)]
Ustawieniem domyślnym zasad systemowych jest DEFAULT
. W tym scenariuszu domyślne ustawienie zostało zmienione z DEFAULT
na FUTURE
lub CUSTOM
. Zasady FUTURE
wyłączają niektóre algorytmy, które używają 2048 bitów, takich jak SHA-1, RSA i Diffie-Hellman. Zasady CUSTOM
mogą również wyłączyć te algorytmy. Aby zidentyfikować bieżący tryb ustawień zasad, uruchom następujące polecenie update-crypto-policies :
sudo update-crypto-policies --show
DEFAULT:FUTURE
Rozwiązanie 5. Przywracanie domyślnych zasad systemu kryptograficznego
Przywróć kryptografię do ustawienia zasad systemowych DEFAULT
, wykonując następujące kroki:
Zmień ustawienie zasad systemowych z powrotem na
DEFAULT
, uruchamiającupdate-crypto-policies
polecenie :sudo update-crypto-policies --set DEFAULT
Sprawdź, czy zmiana zasad przeszła, uruchamiając ponownie polecenie
update-crypto-policies
:sudo update-crypto-policies --show
Przetestuj, aby upewnić się, że błąd został naprawiony. Aby to zrobić, uruchom
dnf install
polecenie:sudo dnf install <package-name>
Aby uzyskać więcej informacji na temat zasad kryptograficznych, zobacz temat Silne wartości domyślne kryptografii w systemie RHEL 8 i wycofywanie słabych algorytmów kryptograficznych.
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.