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

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

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

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

    Uwaga

    W tym scenariuszu odkryjesz, ż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*"
    
  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 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 sudookreślenie .

Instalacja pakietu EUS RHUI

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

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

    sudo rm /etc/yum/vars/releasever
    
  2. Zainstaluj pakiet, rhui-azure-rhel7 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 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.

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 .

  1. Zainstaluj pakiet, rhui-azure-rhel7-sapapps 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 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 .

  1. 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
    
  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 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.0programu i czy maszyna wirtualna została utworzona przy użyciu obrazu oferty RHEL-SAP-APPS .

  1. Zainstaluj pakiet, rhui-azure-rhel9-sapapps 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. Zablokuj releasever poziom. Obecnie musi to być 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. 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

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

  2. Zaktualizuj ca-certificate , zainstaluj lub ponownie zainstaluj pakiet po skopiowaniu go na maszynę wirtualną, na która ma 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 nadal zainstalowany, uruchom yum reinstall polecenie , 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 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:

  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 została zmieniona, uruchamiając update-crypto-policies ponownie polecenie:

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