Azure での RHUI 証明書に関する問題のトラブルシューティング

適用対象: ✔️ Linux VM

この記事では、有効期限が切れているか、トランスポート層セキュリティ (TLS) または Secure Sockets Layer (SSL) 証明書が不足しているために発生する Red Hat Update Infrastructure (RHUI) の一般的な問題について説明します。

前提条件

重要

RHUI は、従量課金制イメージのみを対象としています。 代わりに、カスタム イメージまたはゴールデン イメージ("サブスクリプション持ち込み(BYOS)"とも呼ばれます)を使用していますか? その場合、更新プログラムを受信するには、システムを Red Hat Subscription Manager (RHSM) または Satellite にアタッチする必要があります。 詳細については、「RHSM を使用して Red Hat カスタマー ポータルに RHEL システムを登録してサブスクライブする方法」を参照してください。

Note

  • 2023 年 10 月 12 日以降、すべての従量課金制 (PAYG) クライアントは、段階的に RHUI-4 IP に転送されています。 RHUI-3 IP は引き続き更新できますが、今後削除される予定です。 パッケージと更新プログラムへのアクセスを中断しないようにするには、RHUI-3 IP へのアクセスを許可する既存のルートと規則を更新して、RHUI-4 IP アドレスを含める必要があります。 ただし、この移行期間中に更新プログラムの受信を継続するには、RHUI-3 IP を削除しないでください。
  • 2020 年 1 月から、新しい Azure US Government イメージでは、Azure Global ヘッダーの下で前述したパブリック IP アドレスの使用が開始されました。

原因 1: RHUI クライアント証明書の有効期限が切れている

Azure RHUI 証明書は通常、2 年ごとに期限切れになります。 RHEL バージョン 7.4 (イメージ URN: RedHat:RHEL:7.4:7.4.2018010506) などの古い RHEL VM イメージを使用している場合は、現在期限切れの TLS/SSL クライアント証明書が原因で RHUI への接続が低下します。 たとえば、次のいずれかのエラー メッセージが表示される場合があります。

  • "SSL ピアが証明書を期限切れとして拒否しました"

  • "エラー: リポジトリのリポジトリ メタデータ (repomd.xml) を取得できません:_...パスを確認して、もう一度やり直してください"

証明書の有効期限が切れる直前に作成された古いイメージまたはイメージで証明書の有効期限が切れないように、プロセスを適用する必要があります。

解決策 1: RHUI クライアント パッケージを更新する

クラウド環境の従量課金制システムの RHEL リポジトリにアクセスするには、RHUI を使用します。 クラウド プロバイダーとして、Azure では、次のタスクなど、新しいクライアント構成 RPM バージョンをいつでも作成して発行できます。

  • 新しいリポジトリへのアクセスの提供
  • 証明書を書き換える
  • その他のパッケージの変更

このような場合は、新しい RHUI パッケージをシステムにインストールする必要があります。 このパッケージには、更新された証明書が含まれています。 RHUI パッケージを更新するには、 yum コマンドを実行します。

sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'

sudo yum update コマンドは、(RHEL のバージョンに応じて) クライアント証明書パッケージを更新することもできます。 これは、他のリポジトリで表示されるのと同じ有効期限が切れた SSL 証明書エラーがコマンドアウトプットに含まれている場合でも当てはまります。 この更新が成功した場合は、sudo yum update を再度正常に実行できるように、他の RHUI リポジトリへの通常の接続を復元する必要があります。

yum updateの実行時に "404" エラーが発生した場合は、次のコマンドを実行して yum キャッシュを更新してみてください。

sudo yum clean all
sudo yum makecache

原因 2: RHUI 証明書がありません

Azure Red Hat Linux VM には、RHUI Azure パッケージが既にインストールされています。 ただし、 /etc/pki/rhui/product/ ディレクトリに証明書がありません。

誤って RHUI 証明書が VM から削除された場合、パッケージをインストールまたは更新しようとすると、次のエラー メッセージが表示されます。

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?)]

解決策 2: EUS、EUS 以外、または SAP RHUI パッケージを再インストールする

該当する RHUI パッケージを再インストールして、不足している証明書を正しい場所に再生成します。

次の手順のすべてのコマンドは、ルート特権を使用するか、 sudoを指定して実行する必要があります。

  1. rhui-azure (EUSnon-EUS、またはSAP/E4S) パッケージがインストールされていることを確認します。 そのためには、次のコマンドを実行します。

    sudo rpm -qa | grep -i azure
    
    rhui-azure-rhelX-<>-X.X-XXX.noarch
    

    拡張更新プログラム サポート (EUS) または EUS 以外の RHUI パッケージの詳細については、次の記事のリンクされたセクションを参照してください。

    パッケージの種類 リンク
    EUS RHUI パッケージ EUS リポジトリに接続されている Red Hat イメージ
    EUS 以外の RHUI パッケージ EUS 以外のリポジトリに接続されている Red Hat イメージ
    SAP ソリューション サブスクリプション (SAP/E4S) RHUI パッケージの更新サービス SAP/E4S リポジトリに接続されている Red Hat イメージ
  2. 証明書が存在することを確認します。

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

    Note

    このシナリオでは、ファイルが見つからないことを検出します。

  3. yum reinstall コマンドを実行して、対応するrhui-azure パッケージを再インストールします。

    sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft*"
    
  4. EUSまたはE4Sリポジトリがインストールされている場合は、releasever変数をロックします。

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  5. ls コマンドをもう一度実行して、証明書が存在することを確認します。 これで、証明書ファイルが一覧表示されます。

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

原因 3: RHUI パッケージがありません

RHUI EUS、EUS 以外、または SAP/E4S パッケージが Red Hat VM に存在しませんが、リポジトリ構成ファイルは引き続き /etc/yum.repos.d/ ディレクトリに存在します。

パッケージをインストールまたは更新しようとすると、次のエラー メッセージが表示されます。

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?)]

解決策 3: EUS、EUS 以外、または SAP/E4S RHUI パッケージをインストールする

EUS、EUS 以外、または SAP/E4S 用の不足している RHUI パッケージをインストールします。

次のすべてのコマンドは、ルート特権を使用するか、 sudoを指定して実行する必要があります。

EUS RHUI パッケージのインストール

  1. yum install コマンドを使用して、rhui-azure-rhel7-eus パッケージをインストールします。

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-eus.config' install 'rhui-azure-rhel7-eus'
    
  2. releasever変数をロックします。

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、 yum repolist コマンドを実行します。

    sudo yum repolist all
    

Note

/etc/yum.conf または /etc/dnf.conf でプロキシを使用している場合、プロキシ設定が含まれていないため、yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X コマンドは機能しません。 この場合は、次のコマンドを使用します。

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

必要に応じて、 rhui-microsoft-azure-rhelX-X-X-Xrhui-azure-rhel-X-X-X を実際の値に置き換えます。

EUS 以外の RHUI パッケージのインストール

  1. リリースバー ファイルが存在する場合は削除します。

    sudo rm /etc/yum/vars/releasever
    
  2. yum install コマンドを実行して、rhui-azure-rhel7 パッケージをインストールします。

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
    
  3. 対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、 yum repolist コマンドを実行します。

    sudo yum repolist all
    

Note

/etc/yum.conf または /etc/dnf.conf でプロキシを使用している場合、プロキシ設定が含まれていないため、yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X コマンドは機能しません。 この場合は、次のコマンドを使用します。

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

必要に応じて、 rhui-microsoft-azure-rhelX-X-X-Xrhui-azure-rhel-X-X-X を実際の値に置き換えます。

RHEL 7 SAP/E4S/HANA RHUI パッケージのインストール

SAP イメージの種類のタブを選択して、対応する手順を確認します。

次の手順は、OS のバージョンが RHEL 7.9 より前でありRHEL-SAP-APPS オファー イメージを使用して VM が作成された場合に適用されます。

  1. yum install コマンドを実行して、rhui-azure-rhel7-sapapps パッケージをインストールします。

    sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7-sapapps.config' install rhui-azure-rhel7-sapapps
    
  2. releasever変数をロックします。

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
    
  3. 対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、 yum repolist コマンドを実行します。

    sudo yum repolist all
    

Note

/etc/yum.conf または /etc/dnf.conf でプロキシを使用している場合、プロキシ設定が含まれていないため、yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X コマンドは機能しません。 この場合は、次のコマンドを使用します。

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

必要に応じて、 rhui-microsoft-azure-rhelX-X-X-Xrhui-azure-rhel-X-X-X を実際の値に置き換えます。

RHEL 8 SAP/E4S/HANA RHUI パッケージのインストール

SAP イメージの種類のタブを選択して、対応する手順を確認します。

次の手順は、OS のバージョンが使用可能な最新バージョンより前である場合に適用されますの SAP でサポートされ、VM が RHEL-SAP-APPS オファー イメージを使用して作成されました。

  1. dnf インストール コマンドを実行して、rhui-azure-rhel8-sapapps パッケージをインストールします。

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel8-sapapps.config' install rhui-azure-rhel8-sapapps
    
  2. releasever変数をロックします。

    sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
    
  3. 対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、 yum repolist コマンドを実行します。

    sudo dnf repolist all
    

Note

/etc/yum.conf または /etc/dnf.conf でプロキシを使用している場合、プロキシ設定が含まれていないため、yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X コマンドは機能しません。 この場合は、次のコマンドを使用します。

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

必要に応じて、 rhui-microsoft-azure-rhelX-X-X-Xrhui-azure-rhel-X-X-X を実際の値に置き換えます。

RHEL 9 SAP/HANA RHUI パッケージのインストール

SAP イメージの種類のタブを選択して、対応する手順を確認します。

次の手順は、OS のバージョンが利用可能な最新バージョンより場合に適用されます用に SAP でサポートされているバージョンと、RHEL-SAP-APPS オファー イメージを使用して VM が作成された場合です。

  1. dnf install コマンドを実行して、rhui-azure-rhel9-sapapps パッケージをインストールします。

    sudo dnf --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel9-sapapps.config' install rhui-azure-rhel9-sapapps
    
  2. releasever レベルをロックします。 現在、バージョンは 9.0 または 9.2 である必要があります。

    sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
    
  3. 対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、 yum repolist コマンドを実行します。

    sudo dnf repolist all
    

Note

/etc/yum.conf または /etc/dnf.conf でプロキシを使用している場合、プロキシ設定が含まれていないため、yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-x-x-x-x install rhui-azure-rhel-X-X-X コマンドは機能しません。 この場合は、次のコマンドを使用します。

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

必要に応じて、 rhui-microsoft-azure-rhelX-X-X-Xrhui-azure-rhel-X-X-X を実際の値に置き換えます。

原因 4: SSL CA 証明書がありません

ca-bundle.crt証明書ファイルが手動で削除されたか、破損しているか、古くなっています。

yum コマンドを実行しようとすると、次のようなエラー メッセージが表示されることがあります。

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

解決策 4: CA 証明書パッケージを更新または再インストールする

  1. 最新の ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm パッケージを、リポジトリ アクセス権を持ち、同じ Red Hat バージョンとリリースを持つ別の VM からダウンロードします。 次に、影響を受ける VM にパッケージをコピーします。

    sudo yumdownloader ca-certificates
    sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
    

    Note

    対応するユーザーと IP アドレスのプレースホルダーを必ず置き換えてください。 また、それに応じて、パッケージ名 ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm を置き換えてください。

  2. 影響を受ける VM にコピーした後、ca-certificate パッケージを更新、インストール、または再インストールします。

    1. パッケージが既にインストールされているかどうかを確認します。

      sudo rpm -qa | grep "ca-certificates"
      
      • パッケージが見つからない場合は、 yum install コマンドを実行してインストールします。

        sudo yum install ca-certificates-*.noarch.rpm --disablerepo=*
        
      • パッケージがまだインストールされている場合は、yum reinstall コマンドを実行して再インストールします。

        sudo yum reinstall ca-certificates-*.noarch.rpm --disablerepo=*
        
    2. 対応する証明書を再生成または更新するには、 update-ca-trust コマンドを実行します。

      sudo update-ca-trust
      

原因 5: RHEL バージョン 8 または 9 での検証エラー ("CA 証明書キーが弱すぎます")

システムは、2048 ビット RSA キーを使用して署名された証明書を含むサーバーへの接続を試みます。 ただし、システムには、その暗号アルゴリズムを禁止する FUTURE ポリシー設定があります。 次のエラー メッセージは、 /var/log/messages または /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?)]

デフォルトのシステム ポリシー設定は DEFAULT です。 このシナリオでは、デフォルト設定が DEFAULT から FUTURE または CUSTOM に変更されました。 FUTURE ポリシーでは、SHA-1、RSA、Diffie-Hellman など、2,048 ビットを使用するいくつかのアルゴリズムが無効になります。 CUSTOM ポリシーによって、これらのアルゴリズムが無効になる場合もあります。 現在のポリシー設定モードを特定するには、次の update-crypto-policies コマンドを実行します。

sudo update-crypto-policies --show
DEFAULT:FUTURE

解決策 5: 既定の暗号化システム ポリシーに戻す

次の手順に従って、暗号化を DEFAULT システム ポリシー設定に戻します。

  1. update-crypto-policies コマンドを実行して、システム ポリシー設定を DEFAULT に戻します。

    sudo update-crypto-policies --set DEFAULT
    
  2. update-crypto-policies コマンドをもう一度実行して、ポリシーの変更が完了したことを確認します。

    sudo update-crypto-policies --show
    
  3. テストして、エラーが修正されていることを確認します。 これを行うには、 dnf install コマンドを実行します。

    sudo dnf install <package-name>
    

暗号化ポリシーの詳細については、RHEL 8 での強力な暗号化の既定値と弱い暗号化アルゴリズムの廃止に関するページを参照してください。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。