On 24/04/16 04:46, Anthony Clark wrote:
Hello All,
TL;DR: what's the best way to grab a SSL cert and key during kickstart?
(this is all using CentOS 7.2 latest)
I'm using Foreman to manage my kickstart and Puppet services, and its built-in
FreeIPA client enrollment works just fine.
However I'd like to also request a certificate and key for a Puppet client to
use to authenticate to the Foreman-controlled Puppet server.
If I manually set up a puppet client then it works just fine. I use something
like this:
# ipa-getcert request -w -r -f /var/lib/puppet/ssl/certs/<%= @host.name
<http://host.name> %>.pem -k /var/lib/puppet/ssl/private_keys/<%= @host.name
<http://host.name> %>.pem
# cp /etc/ipa/ca.crt /var/lib/puppet/ssl/certs/ca.pem
(then setting the correct paths and settings in /etc/puppet/puppet.conf)
I tried to make that work inside the Kickstart process, but as those commands
are running inside a kickstart chroot the certmonger service won't start.
Is there a better method to grab a SSL cert and key for the host during
kickstart? Or should I just wait until firstboot and perform the steps at that
point?
Many Thanks and FreeIPA is really amazing!
Anthony Clark
Hello Anthony,
TL;DR Set DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null in kickstart
chroot environment before calling "ipa-getcert request".
The issue is already addressed by BZ1134497 [1]. When getcert detects
there is no DBus it starts certmonger and communicates over unix socet.
But in Kickstart environment DBus is available but unusable (BZ1271551,
[2]). It can be workaround by setting
DBUS_SYSTEM_BUS_ADDRESS=unix:path=/dev/null (it is described in Doc Text
of [1]).
You can also run ipa-client-install with --request-cert and it will also
request certificate for the client. And also require the workaround in
Kickstart chroot environment. But unlike "ipa-getcert request -w" it
won't wait for the certificate to be issued and fetched.
The reason is that it can take days for certificate to be issued (some
CAs require human approval) so ipa-client-install only submit the
request and doesn't wait for certificate.
After the installation completes and system is started certmonger
periodically query for the certificate and fetch it when available.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1134497
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1271551
HTH,
--
David Kupka
--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project