Commit Graph

5 Commits (71b1363c586f9c519dfa843a55bc4a3c0ca0dc3a)

Author SHA1 Message Date
Dustin 34c1256f27 base: Factor out SSH host, user cert roles
Moving the SSH host and user certificate configuration roles out of
`base.yml` into their own playbooks.  This will make it easier to deploy
them separately, and target different sets of hosts.  The main driver
for this change is the OVH VPS; being external, it cannot communicate
with SSHCA and thus cannot have a signed host certificate.  As such, we
do not want to try to configure the SSHCA client on it at all.
2025-02-01 17:36:58 -06:00
Dustin f83cea50e9 r/ssu-user-ca: Configure sshd TrustedUserCAKeys
The `TrustedUserCAKeys` setting for *sshd(8)* tells the server to accept
any certificates signed by keys listed in the specified file.
The authenticating username has to match one of the principals listed in
the certificate, of course.

This role is applied to all machines, via the `base.yml` playbook.
Certificates issued by the user CA managed by SSHCA will therefore be
trusted everywhere.  This brings us one step closer to eliminating the
dependency on Active Directory/Samba.
2024-02-01 18:46:40 -06:00
Dustin dfd828af08 r/ssh-host-certs: Manage SSH host certificates
The *ssh-host-certs* role, which is now applied as part of the
`base.yml` playbook and therefore applies to all managed nodes, is
responsible for installing the *sshca-cli* package and using it to
request signed SSH host certificates.  The *sshca-cli-systemd*
sub-package includes systemd units that automate the process of
requesting and renewing host certificates.  These units need to be
enabled and provided the URL of the SSHCA service.  Additionally, the
SSH daemon needs to be configured to load the host certificates.
2023-11-07 21:27:02 -06:00
Dustin 00d30a67fb base: Enable serial console on KVM VMs
Occasionally, VMs running on the main libvirt VM hosts will freeze or
otherwise become unavailable via network.  Sometimes, when this happens,
their normal consoles are unresponsive as well.  Having the serial
console available as a fallback can sometimes be helpful in recovering
from such situations.

To ensure the serial console is available on all VMs, we use a "dynamic"
group, based on the virtualization type and role of the managed node.
All KVM-based virtual machines are included in a group named *kvm-vm*.
A play in `base.yml` applies the *serial-console* role to members of
this group.
2021-10-16 14:34:51 -05:00
Dustin 5819b222af base: Base playbook
The `base.yml` playbook applies the *base* role.
2018-01-29 15:03:45 -06:00