Устранение неполадок с сертификатом RHUI в Azure
Область применения: ✔️ виртуальные машины Linux
В этой статье рассматриваются распространенные проблемы в инфраструктуре обновления Red Hat (RHUI), вызванные истекшим сроком действия или отсутствием сертификатов ПРОТОКОЛА TLS или SSL.
Предварительные требования
SSH-доступ к соответствующей виртуальной машине Red Hat Enterprise Linux (RHEL) с оплатой по мере использования (PAYG) в Azure
Привилегии корневого каталога
Внимание
Платформа RHUI предназначена для работы только с образами с оплатой по мере использования. Вы вместо этого используете пользовательские или золотые образы (также известные как принцип собственной подписки (BYOS)? В этом случае система должна быть подключена к Диспетчеру подписок Red Hat (RHSM) или Спутнику для получения обновлений. Дополнительные сведения см. в разделе Регистрация и подписка системы RHEL на клиентский портал Red Hat с помощью RHSM.
Примечание.
- Начиная с 12 октября 2023 года все клиенты с оплатой по мере использования (PAYG) были направлены на IP-адреса RHUI-4 на этапах. IP-адреса RHUI-3 остаются доступными для постоянных обновлений, но будут удалены в будущем. Чтобы обеспечить непрерывный доступ к пакетам и обновлениям, необходимо обновить существующие маршруты и правила, разрешающие доступ к IP-адресам RHUI-3, чтобы включить IP-адреса RHUI-4. Однако для продолжения получения обновлений в течение этого переходного периода не удаляйте IP-адреса RHUI-3.
- Начиная с января 2020 года новые образы Azure для государственных организаций 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 в системе. Этот пакет имеет обновленный сертификат. Чтобы обновить пакет RHUI, выполните команду yum :
sudo yum update -y --disablerepo='*' --enablerepo='*microsoft-azure*'
Команда 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 уже установлена в пакете RHUI Azure. Однако сертификат отсутствует в каталоге /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, не 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 Обновления служб для подписок SAP Solutions (SAP/E4S) RHUI Образы 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-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, но файлы конфигурации репозитория по-прежнему существуют в каталоге /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, не euS или SAP/E4S RHUI
Установите отсутствующий пакет RHUI для EUS, non-EUS или SAP/E4S.
Все следующие команды должны выполняться с помощью корневых привилегий или указания 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
Удалите файл выпуска, если он существует.
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
замените их соответствующими значениями.
Установка пакета 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
Следующие действия применяются, если версия ОС более ранняя, чем 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
замените их соответствующими значениями.
Установка пакета 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)
- RHEL 8.10 — RHEL-HA
Следующие действия применяются, если версия ОС более ранняя, чем последняя версия, поддерживаемая SAP, RHEL 8.X
и виртуальная машина была создана с помощью RHEL-SAP-APPS
образа предложения.
rhui-azure-rhel8-sapapps
Установите пакет, выполнив команду установки dnf: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 RHUI для RHUI на RHUI с помощью RHEL 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'
Убедитесь, что соответствующие репозитории доступны и не отображают ошибок. Для этого выполните
yum 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 и прекращение поддержки слабых алгоритмов шифрования.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Microsoft не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.