Azure での RHUI 証明書に関する問題のトラブルシューティング
適用対象: ✔️ Linux VM
この記事では、有効期限が切れているか、トランスポート層セキュリティ (TLS) または Secure Sockets Layer (SSL) 証明書が不足しているために発生する Red Hat Update Infrastructure (RHUI) の一般的な問題について説明します。
前提条件
Azure の対応する Red Hat Enterprise Linux (RHEL) 従量課金制 (PAYG) 仮想マシン (VM) への SSH アクセス
ルート特権
重要
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-azure*'
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
を指定して実行する必要があります。
rhui-azure
(EUS
、non-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 イメージ 証明書が存在することを確認します。
sudo ls -l /etc/pki/rhui/product/
Note
このシナリオでは、ファイルが見つからないことを検出します。
yum reinstall
コマンドを実行して、対応するrhui-azure
パッケージを再インストールします。sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft-azure*"
EUS
またはE4S
リポジトリがインストールされている場合は、releasever
変数をロックします。sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
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 パッケージのインストール
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'
releasever
変数をロックします。sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、
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-X
とrhui-azure-rhel-X-X-X
を実際の値に置き換えます。
EUS 以外の RHUI パッケージのインストール
リリースバー ファイルが存在する場合は削除します。
sudo rm /etc/yum/vars/releasever
yum install
コマンドを実行して、rhui-azure-rhel7
パッケージをインストールします。sudo yum --config='https://rhelimage.blob.core.windows.net/repositories/rhui-microsoft-azure-rhel7.config' install 'rhui-azure-rhel7'
対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、
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-X
と rhui-azure-rhel-X-X-X
を実際の値に置き換えます。
RHEL 7 SAP/E4S/HANA RHUI パッケージのインストール
SAP イメージの種類のタブを選択して、対応する手順を確認します。
- RHEL 7.x - RHEL-SAP-APPS
- RHEL 7.9 - RHEL-SAP-APPS
- RHEL 7.x - RHEL-SAP (以前のオファー)
- RHEL 7.x - RHEL-SAP-HA (E4S)
- RHEL 7.9 - RHEL-SAP-HA
次の手順は、OS のバージョンが RHEL 7.9 より前でありRHEL-SAP-APPS
オファー イメージを使用して VM が作成された場合に適用されます。
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
releasever
変数をロックします。sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/yum/vars/releasever
対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、
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-X
と rhui-azure-rhel-X-X-X
を実際の値に置き換えます。
RHEL 8 SAP/E4S/HANA RHUI パッケージのインストール
SAP イメージの種類のタブを選択して、対応する手順を確認します。
- 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)
次の手順は、OS のバージョンが使用可能な最新バージョンより前である場合に適用されますRHEL-SAP-APPS
オファー イメージを使用して作成されました。
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
releasever
変数をロックします。sudo echo $(. /etc/os-release && echo $VERSION_ID) > /etc/dnf/vars/releasever
対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、
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-X
と rhui-azure-rhel-X-X-X
を実際の値に置き換えます。
RHEL 9 SAP/HANA RHUI パッケージのインストール
SAP イメージの種類のタブを選択して、対応する手順を確認します。
次の手順は、OS のバージョンが利用可能な最新バージョンより場合に適用されますRHEL-SAP-APPS
オファー イメージを使用して VM が作成された場合です。
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
releasever
レベルをロックします。 現在、バージョンは 9.0 または 9.2 である必要があります。sudo sh -c 'echo 9.2 > /etc/dnf/vars/releasever'
対応するリポジトリが使用可能であり、エラーが表示されていないことを確認します。 これを行うには、
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-X
と rhui-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 証明書パッケージを更新または再インストールする
最新の 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 を置き換えてください。
影響を受ける VM にコピーした後、
ca-certificate
パッケージを更新、インストール、または再インストールします。パッケージが既にインストールされているかどうかを確認します。
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=*
対応する証明書を再生成または更新するには、 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
システム ポリシー設定に戻します。
update-crypto-policies
コマンドを実行して、システム ポリシー設定をDEFAULT
に戻します。sudo update-crypto-policies --set DEFAULT
update-crypto-policies
コマンドをもう一度実行して、ポリシーの変更が完了したことを確認します。sudo update-crypto-policies --show
テストして、エラーが修正されていることを確認します。 これを行うには、
dnf install
コマンドを実行します。sudo dnf install <package-name>
暗号化ポリシーの詳細については、RHEL 8 での強力な暗号化の既定値と弱い暗号化アルゴリズムの廃止に関するページを参照してください。
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。