Udostępnij za pośrednictwem


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

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 updatezostanie 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:

  1. Sprawdź, rhui-azure czy zainstalowano pakiet (EUS, non-EUSlub SAP/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
  2. Sprawdź, czy certyfikat istnieje:

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

    Uwaga 16.

    W tym scenariuszu dowiesz się, że brakuje pliku.

  3. Zainstaluj ponownie odpowiedni rhui-azure pakiet, uruchamiając yum reinstall polecenie :

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
    
  4. EUS Jeśli zainstalowano repozytorium lubE4S, zablokuj zmiennąreleasever:

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. 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

  1. Aby zainstalować pakiet rhui-azure-rhel7-eus, uruchom polecenie yum install.

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
    
  2. Zablokuj zmienną releasever :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 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 RHUI spoza UES

  1. Usuń plik releasever, jeśli istnieje.

    sudo rm /etc/yum/vars/releasever
    
  2. rhui-azure-rhel7 Zainstaluj pakiet, uruchamiając yum install polecenie :

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. 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.

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.

  1. rhui-azure-rhel7-sapapps Zainstaluj pakiet, uruchamiając yum install polecenie :

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
    
  2. Zablokuj zmienną releasever :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 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.

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.

  1. 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
    
  2. Zablokuj zmienną releasever :

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. 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.0programu , a jeśli maszyna wirtualna została utworzona przy użyciu RHEL-SAP-APPS obrazu oferty.

  1. rhui-azure-rhel9-sapapps Zainstaluj pakiet, uruchamiając dnf install polecenie :

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
    
  2. releasever Zablokuj poziom. Obecnie wersja musi być w wersji 9.0 lub 9.2.

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. 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

  1. 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.

  2. Zaktualizuj, zainstaluj lub ponownie zainstaluj pakiet ca-certificate po skopiowaniu go do maszyny wirtualnej, której dotyczy problem:

    1. 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=*
        
    2. 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:

  1. Zmień ustawienie zasad systemowych z powrotem na DEFAULT , uruchamiając update-crypto-policies polecenie :

    sudo update-crypto-policies --set DEFAULT
    
  2. Sprawdź, czy zmiana zasad przeszła, uruchamiając ponownie polecenie update-crypto-policies:

    sudo update-crypto-policies --show
    
  3. 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.