
У меня есть установка freeipa, которая была установлена несколько месяцев назад. Однако, когда я вернулся, чтобы продолжить администрирование сервера IPA, я не смог войти в него.
DNS работает в моей частной сети без проблем, даже я не могу войти в систему IPA. Я использую сертификаты letsencrypt в настройке httpd.
$ipa-pkinit-manage статус
PKINIT is enabled
The ipa-pkinit-manage command was successful
$клист
Ticket cache: KCM:0
Default principal: [email protected]
Valid starting Expires Service principal
31.08.2020 16.12.30 01.09.2020 16.12.25 krbtgt/[email protected]
$ipa -v пинг
ipa: ERROR: cannot connect to 'https://serenity.example.com/ipa/json': [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)
кошка /var/log/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
- /var/lib/ipa-client/pki/ca-bundle.pem
- /var/lib/ipa-client/pki/kdc-ca-bundle.pem
В каждом файле должно быть несколько сертификатов, если вы используете letsencrypt для https и самоподписанный центр сертификации. У клиентов, зарегистрированных до того, как я добавил корневые центры сертификации letsencrypt, отсутствовали дополнительные сертификаты из этих 3 файлов.
Я ссылалсяhttps://github.com/freeipa/freeipa-letsencryptдля переключения на letsencrypt, в котором есть ipa-cacert-manage (для добавления корневых центров сертификации в доверие freeipa) и ipa-certupdate (для передачи всех сертификатов из доверия freeipa клиенту), позже я понял, что мне нужно было запустить ipa-certupdate на каждом клиенте, прежде чем переключать https на использование letsencrypt.