Назад | Перейти на главную страницу

Невозможно войти в веб-интерфейс FreeIPA - «Ошибка входа по неизвестной причине».

У меня установлена ​​Freeipa несколько месяцев назад. Однако в последнее время, когда я вернулся, чтобы продолжить администрирование с помощью IPA-сервера, я не могу войти в него.

DNS работает в моей частной сети без проблем, даже я не могу войти в систему IPA. Я использую сертификаты letsencrypt в настройке httpd.

$ статус ipa-pkinit-manage

PKINIT is enabled
The ipa-pkinit-manage command was successful

$ klist

Ticket cache: KCM:0
Default principal: admin@EXAMPLE.COM

Valid starting       Expires              Service principal
31.08.2020 16.12.30  01.09.2020 16.12.25  krbtgt/EXAMPLE.COM@EXAMPLE.COM

$ ipa -v пинг

ipa: ERROR: cannot connect to 'https://serenity.example.com/ipa/json': [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)

кот / вар / журнал / httpd / error_log

[Mon Aug 31 16:31:30.125325 2020] [wsgi:error] [pid 9761:tid 139962713196288] [remote 10.0.12.31:58490] ipa: INFO: 401 Unauthorized: HTTPSConnectionPool(host='serenity.example.com', port=443): Max retries exceeded with url: /ipa/session/cookie (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)'),))

Вход в веб-интерфейс:

Login failed due to an unknown reason

Примечание: я изменил свою область домена на example.com

Что вызывает эту проблему и как ее исправить?

Посмотрите на содержимое:

  1. /etc/ipa/ca.crt
  2. /var/lib/ipa-client/pki/ca-bundle.pem
  3. /var/lib/ipa-client/pki/kdc-ca-bundle.pem

В каждом должно быть несколько сертификатов, если вы используете letsencrypt для https и самозаверяющий ЦС. у клиентов, зарегистрированных до того, как я добавил корневые центры сертификации letsencrypt, отсутствовали дополнительные сертификаты из этих трех файлов.

Я сослался https://github.com/freeipa/freeipa-letsencrypt для переключения на letsencrypt, в котором есть ipa-cacert-manage (для добавления корневых центров сертификации в доверие freeipa) и ipa-certupdate (для передачи всех сертификатов в доверие freeipa клиенту), что я понял позже, я должен был запустить ipa-certupdate на каждом клиенте перед переключением https для использования letsencrypt.