Rozwiązywanie problemów z certyfikatami RHUI na platformie Azure
W tym artykule omówiono typowe problemy z infrastrukturą aktualizacji Red Hat Update Infrastructure (RHUI), które są spowodowane wygasłymi lub brakującymi certyfikatami TLS (Transport Layer Security) 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żna
Interfejs RHUI jest przeznaczony tylko dla obrazów z płatnością zgodnie z rzeczywistym użyciem. Czy używasz niestandardowych lub złotych obrazów (znanych również jako "bring-your-own-subscription (BYOS)") zamiast tego? W takim przypadku system musi być dołączony do programu Red Hat Subscription Manager (RHSM) lub Satellite, aby otrzymywać aktualizacje. 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 subskrybować system RHEL w witrynie Red Hat Customer Portal przy użyciu usługi RHSM).
Uwaga
- Od 12 października 2023 r. wszyscy klienci z płatnością zgodnie z rzeczywistym użyciem (PAYG) zostali przekierowani do 4 adresów IP usługi Red Hat Update Infrastructure (RHUI) w fazach. Adresy IP RHUI-3 pozostają dostępne dla dalszych 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 zezwalają na dostęp do adresów IP RHUI-3 w celu uwzględnienia adresów IP RHUI-4. Aby jednak nadal otrzymywać aktualizacje w tym okresie przejściowym, nie usuwaj adresów IP RHUI-3.
- Od stycznia 2020 r. nowe obrazy usługi Azure US Government zaczęły używać publicznych adresów IP wymienionych wcześniej w nagłówku Globalna platforma Azure.
Przyczyna 1. Certyfikat klienta RHUI wygasł
Certyfikaty usługi Azure RHUI zazwyczaj wygasają co dwa lata. Jeśli używasz starszego obrazu maszyny wirtualnej RHEL, takiego jak RHEL w wersji 7.4 (obraz URN: RedHat:RHEL:7.4:7.4.2018010506
), występuje obniżona łączność z interfejsem RHUI z powodu 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ł"
"Błąd: Nie można pobrać metadanych repozytorium (repomd.xml) dla repozytorium:_... Sprawdź jego ś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 płatności zgodnie z rzeczywistym użyciem w środowiskach chmury, użyj rozwiązania RHUI. Jako dostawca usług w chmurze platforma Azure może tworzyć i publikować nowsze wersje programu RPM konfiguracji klienta w dowolnym momencie, na przykład w przypadku następujących zadań:
- Zapewnianie dostępu do nowego repozytorium.
- Odnawianie certyfikatów.
- Wprowadzanie innych zmian w opakowaniach.
W takiej sytuacji należy zainstalować nowy pakiet RHUI w systemie. Ten pakiet ma odnowiony certyfikat. Uruchom polecenie yum , aby zaktualizować pakiet RHUI:
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'
Polecenie sudo yum update
może również zaktualizować pakiet certyfikatów klienta (w zależności od wersji RHEL). Jest to prawda, nawet jeśli dane wyjściowe polecenia zawierają te same błędy wygasłego certyfikatu SSL, które są widoczne dla 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
ją po raz drugi.
Jeśli podczas uruchamiania programu 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 z systemem Azure Red Hat Linux ma już zainstalowany pakiet rhui platformy Azure. Brakuje jednak certyfikatu w katalogu /etc/pki/rhui/product/ .
Jeśli certyfikat RHUI został usunięty z maszyny wirtualnej przez pomyłkę, 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-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, spoza systemu EUS lub SAP RHUI
Zainstaluj ponownie odpowiedni pakiet RHUI, aby ponownie wygenerować brakujące certyfikaty w prawidłowej lokalizacji.
Wszystkie polecenia w poniższych krokach powinny być uruchamiane przy użyciu uprawnień głównych lub przez określenie sudo
:
Sprawdź,
rhui-azure
czy pakiet (EUS
,non-EUS
lubSAP/E4S
) jest zainstalowany przy użyciu następującego polecenia:sudo rpm -qa | grep -i azure
rhui-azure-rhelX-<>-X.X-XXX.noarch
Aby uzyskać więcej informacji na temat rozszerzonej obsługi aktualizacji (EUS) lub pakietów RHUI innych niż EUS, zobacz połączone sekcje następujących artykułów.
Typ pakietu Link Pakiety EUS RHUI Obrazy red hat połączone z repozytoriami EUS Pakiety RHUI innych niż EUS Obrazy red hat połączone z repozytoriami innych niż EUS Pakiety RHUI usług Update Services for SAP Solutions (SAP/E4S) Obrazy Red Hat połączone z repozytoriami SAP/E4S Sprawdź, czy certyfikat istnieje:
sudo ls -l /etc/pki/rhui/product/
Uwaga
W tym scenariuszu odkryjesz, ż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*"
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 zostać wyświetlony teraz:sudo ls -l /etc/pki/rhui/product/
Przyczyna 3. Brak pakietu RHUI
Brak pakietu RHUI EUS, non-EUS lub SAP/E4S na maszynie 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, spoza systemu EUS lub SAP/E4S RHUI
Zainstaluj brakujący pakiet RHUI dla systemów EUS, innych niż EUS lub SAP/E4S.
Wszystkie następujące polecenia powinny być uruchamiane przy użyciu uprawnień głównych lub przez sudo
określenie .
Instalacja pakietu EUS RHUI
Uruchom polecenie ,
yum install
aby zainstalowaćrhui-azure-rhel7-eus
pakiet: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 nie wyświetlaj żadnych błędów, uruchamiając
yum repolist
polecenie:sudo yum repolist all
Uwaga
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 takim 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
i rhui-azure-rhel-X-X-X
odpowiednio.
Instalacja pakietu RHUI innych niż EUS
Usuń plik releasever, jeśli istnieje.
sudo rm /etc/yum/vars/releasever
Zainstaluj pakiet,
rhui-azure-rhel7
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 nie wyświetlaj żadnych błędów, uruchamiając
yum repolist
polecenie:sudo yum repolist all
Uwaga
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 takim 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
i rhui-azure-rhel-X-X-X
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 wcześniejsza niż RHEL 7.9 , a maszyna wirtualna została utworzona przy użyciu obrazu oferty RHEL-SAP-APPS
.
Zainstaluj pakiet,
rhui-azure-rhel7-sapapps
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 nie wyświetlaj żadnych błędów, uruchamiając
yum repolist
polecenie:sudo yum repolist all
Uwaga
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 takim 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
i rhui-azure-rhel-X-X-X
odpowiednio.
Instalacja pakietu RHEL 8 SAP/E4S/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 wersja dostępna przez oprogramowanie SAP, RHEL 8.X
a maszyna wirtualna została utworzona przy użyciu obrazu oferty RHEL-SAP-APPS
.
Zainstaluj pakiet,
rhui-azure-rhel8-sapapps
uruchamiając polecenie instalacyjne 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 nie wyświetlaj żadnych błędów, uruchamiając
dnf repolist
polecenie:sudo dnf repolist all
Uwaga
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 takim 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
i rhui-azure-rhel-X-X-X
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 i czy maszyna wirtualna została utworzona przy użyciu obrazu oferty RHEL-SAP-APPS
.
Zainstaluj pakiet,
rhui-azure-rhel9-sapapps
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
Zablokuj
releasever
poziom. Obecnie musi to być 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. W tym celu uruchom
dnf repolist
polecenie:sudo dnf repolist all
Uwaga
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 takim 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
i rhui-azure-rhel-X-X-X
odpowiednio.
Przyczyna 4. Brak certyfikatu urzędu certyfikacji SSL
Plik certyfikatu ca-bundle.crt został ręcznie usunięty, uszkodzony lub nieaktualny.
Podczas próby uruchomienia yum
poleceń może zostać wyświetlony komunikat o błędzie podobny do następującego:
# 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, która ma dostęp do repozytorium oraz tej samej wersji i wersji programu Red Hat. Następnie skopiuj pakiet do maszyny wirtualnej, na która 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
Upewnij się, że zastąpisz odpowiednie symbole zastępcze użytkownika i adresu IP. Upewnij się również, że zastąpisz odpowiednio nazwę pakietu ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm.
Zaktualizuj
ca-certificate
, zainstaluj lub ponownie zainstaluj pakiet po skopiowaniu go na maszynę wirtualną, na która ma 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 nadal zainstalowany, uruchom
yum reinstall
polecenie , 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 za 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 FUTURE
ustawienie zasad, które uniemożliwia stosowanie 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?)]
Domyślne ustawienie zasad systemowych to DEFAULT
. W tym scenariuszu ustawienie domyślne 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 ustawienia zasad, uruchom następujące polecenie update-crypto-policies :
sudo update-crypto-policies --show
DEFAULT:FUTURE
Rozwiązanie 5. Powrót do domyślnych zasad systemu kryptograficznego
Przywróć kryptografię DEFAULT
do ustawienia zasad systemu, 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 została zmieniona, uruchamiając
update-crypto-policies
ponownie polecenie:sudo update-crypto-policies --show
Przetestuj, aby upewnić się, że błąd został naprawiony
dnf install
, uruchamiając polecenie:sudo dnf install <package-name>
Aby uzyskać więcej informacji na temat zasad kryptograficznych, zobacz Silne wartości domyślne kryptograficzne 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 platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla