Устранение неполадок с сертификатом RHUI в Azure
В этой статье рассматриваются распространенные проблемы в инфраструктуре обновления Red Hat (RHUI), вызванные истечением срока действия или отсутствием сертификатов TLS или SSL.
Предварительные условия
Доступ по протоколу SSH к соответствующей виртуальной машине Red Hat Enterprise Linux (RHEL) с оплатой по мере использования (PAYG) в Azure.
Корневые привилегии.
Важно!
RHUI предназначен только для изображений с оплатой по мере использования. Используете ли вы вместо этого пользовательские или золотые образы (также известные как "принеси свою собственную подписку (BYOS)")? В этом случае для получения обновлений система должна быть подключена к диспетчеру подписок Red Hat (RHSM) или вспомогательному каналу. Дополнительные сведения см. в разделе Регистрация системы RHEL и подписка на систему RHEL на портале клиентов Red Hat с помощью RHSM.
Примечание.
- Начиная с 12 октября 2023 г. все клиенты с оплатой по мере использования (PAYG) направляются на 4 IP-адреса в Red Hat Update Infrastructure (RHUI) поэтапно. IP-адреса RHUI-3 остаются доступными для дальнейших обновлений, но будут удалены в будущем. Чтобы обеспечить непрерывный доступ к пакетам и обновлениям, необходимо обновить существующие маршруты и правила, разрешающие доступ к IP-адресам RHUI-3, и включить IP-адреса RHUI-4. Однако, чтобы продолжать получать обновления в течение этого переходного периода, не удаляйте IP-адреса RHUI-3.
- Начиная с января 2020 г. новые образы Azure для государственных организаций США начали использовать общедоступные IP-адреса, упомянутые ранее в заголовке Azure Global.
Причина 1: истек срок действия сертификата клиента RHUI
Срок действия сертификатов Azure RHUI обычно истекает каждые два года. Если вы используете более старый образ виртуальной машины RHEL, например RHEL версии 7.4 (URN образа: RedHat:RHEL:7.4:7.4.2018010506
), вы испытываете проблемы с подключением к RHUI из-за истечения срока действия сертификата клиента TLS/SSL. Например, может появиться одно из следующих сообщений об ошибке:
"Одноранговый узел SSL отклонил сертификат как просроченный"
"Ошибка: не удается получить метаданные репозитория (repomd.xml) для репозитория:_... Проверьте путь и повторите попытку"
Необходимо применить процесс, чтобы избежать истечения срока действия сертификата в старых образах или образах, созданных непосредственно перед датой окончания срока действия сертификата.
Решение 1. Обновление пакета клиента RHUI
Чтобы получить доступ к репозиториям RHEL в системах с оплатой по мере использования в облачных средах, используйте RHUI. Как поставщик облачных служб Azure может создавать и публиковать новые версии RPM конфигурации клиента в любое время, например для следующих задач:
- Предоставление доступа к новому репозиторию.
- Обновление сертификатов.
- Внесение других изменений в упаковку.
В этом случае необходимо установить новый пакет RHUI в системе. Этот пакет содержит обновленный сертификат. Выполните команду yum , чтобы обновить пакет RHUI:
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'
Команда sudo yum update
также может обновить пакет сертификата клиента (в зависимости от версии RHEL). Это верно, даже если выходные данные команды содержат те же ошибки SSL-сертификата с истекшим сроком действия, что и для других репозиториев. В случае успешного обновления необходимо восстановить нормальное подключение к другим репозиториям RHUI, чтобы можно было успешно выполнить sudo yum update
второй раз.
Если при запуске yum update
появляется ошибка "404", попробуйте выполнить следующие команды, чтобы обновить кэш yum:
sudo yum clean all
sudo yum makecache
Причина 2. Отсутствует сертификат RHUI
На виртуальной машине Azure Red Hat Linux уже установлен пакет Azure RHUI. Однако сертификат отсутствует в каталоге /etc/pki/rhui/product/ .
Если сертификат RHUI был удален из виртуальной машины по ошибке, при попытке установить или обновить пакет появляется следующее сообщение об ошибке:
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, non-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) или пакетах RHUI, отличных от EUS, см. в связанных разделах следующих статей.
Тип пакета Ссылка Пакеты RHUI EUS Образы Red Hat, подключенные к репозиториям EUS Пакеты RHUI, отличные от EUS Образы Red Hat, подключенные к репозиториям, не связанным с EUS Пакеты RHUI служб обновления для подписок решений SAP (SAP/E4S) Образы Red Hat, подключенные к репозиториям SAP/E4S Убедитесь, что сертификат существует:
sudo ls -l /etc/pki/rhui/product/
Примечание.
В этом сценарии вы обнаружите, что файл отсутствует.
Переустановите соответствующий
rhui-azure
пакет, выполнивyum reinstall
команду :sudo yum reinstall $(rpm -qa | grep -i rhui-azure) --disablerepo=* --enablerepo="*microsoft*"
Если репозиторий
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, non-EUS или SAP/E4S отсутствует на виртуальной машине Red Hat, но файлы конфигурации репозитория по-прежнему находятся в каталоге /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. Установка пакета RHUI eus, non-EUS или SAP/E4S
Установите отсутствующий пакет RHUI для EUS, non-EUS или SAP/E4S.
Все приведенные ниже команды должны выполняться с помощью привилегий root или путем указания sudo
.
Установка пакета RHUI EUS
Выполните команду ,
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
Примечание.
Если вы используете прокси-сервер в /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
соответственно.
Установка пакета RHUI, отличного от EUS
Удалите файл releasever, если он существует.
sudo rm /etc/yum/vars/releasever
Установите пакет,
rhui-azure-rhel7
выполнивyum install
команду :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
Примечание.
Если вы используете прокси-сервер в /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
соответственно.
Установка пакета RHUI для RHEL 7 SAP/E4S/HANA
Выберите вкладку типа изображения 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
Следующие действия применяются, если версия ОС более ранняя, чем RHEL 7.9 , и виртуальная машина была создана с помощью RHEL-SAP-APPS
образа предложения.
Установите пакет,
rhui-azure-rhel7-sapapps
выполнивyum install
команду :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
Примечание.
Если вы используете прокси-сервер в /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
соответственно.
Установка пакета RHUI для RHEL 8 SAP,E4S/HANA
Выберите вкладку типа изображения SAP, чтобы просмотреть соответствующие инструкции.
Следующие действия применяются, если версия ОС более ранняя, чем последняя доступная версия , поддерживаемая SAP для RHEL 8.X
, и виртуальная машина была создана с помощью RHEL-SAP-APPS
образа предложения.
Установите пакет,
rhui-azure-rhel8-sapapps
выполнив команду dnf install: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
Убедитесь, что соответствующие репозитории доступны и не отображаются ошибки, выполнив
dnf repolist
команду :sudo dnf repolist all
Примечание.
Если вы используете прокси-сервер в /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
соответственно.
Установка пакета RHUI ДЛЯ SAP/HANA 9
Выберите вкладку типа изображения SAP, чтобы просмотреть соответствующие инструкции.
Следующие действия применяются, если версия ОС более ранняя, чем последняя доступная версия, поддерживаемая SAP для RHEL 9.0
, и если виртуальная машина была создана с помощью RHEL-SAP-APPS
образа предложения.
Установите пакет,
rhui-azure-rhel9-sapapps
выполнивdnf install
команду :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'
Убедитесь, что соответствующие репозитории доступны и не отображаются ошибки. Для этого выполните
dnf repolist
команду:sudo dnf repolist all
Примечание.
Если вы используете прокси-сервер в /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-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-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm с другой виртуальной машины с доступом к репозиторию и той же версии и выпуска Red Hat. Затем скопируйте пакет на затронутую виртуальную машину:
sudo yumdownloader ca-certificates sudo scp ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm <user-name>@<affected-VM-IP-address>:/tmp
Примечание.
Убедитесь, что вы заменили соответствующие заполнители пользователя и IP-адреса. Кроме того, убедитесь, что вы замените имя пакета ca-certificates-XXXX.X.XX-XX.elX_X.noarch.rpm соответствующим образом.
Обновите, установите или переустановите
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 ("ключ сертификата ЦС слишком слаб")
Система пытается подключиться к серверу, который содержит сертификат, подписанный с помощью 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
отключает некоторые алгоритмы, использующие 2048 бит, например SHA-1, RSA и Diffie-Hellman. Политика CUSTOM
также может отключить эти алгоритмы. Чтобы определить текущий режим параметров политики, выполните следующую команду update-crypto-policies :
sudo update-crypto-policies --show
DEFAULT:FUTURE
Решение 5. Возврат к политике криптографической системы по умолчанию
Верните шифрование к параметру системной DEFAULT
политики, выполнив следующие действия.
Измените параметр системной политики обратно на ,
DEFAULT
выполнивupdate-crypto-policies
команду :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.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по