Um mit Foreman Libvirt-VMs zu managen muss dieser Kontrolle über den KVM-Host erlangen. Das machen wir am besten über den Austausch eines SSH-Keys.

(Auf dem KVM-Host):

Falls ihr Root-Zugriff per SSH noch nicht aktiviert habt:

vim /etc/ssh/sshd_config
PermitRootLogin yes
systemctl restart ssh

Dann den speziellen VM-User anlegen. Wir wollen Foreman doch keinen Root-Zugriff geben.

adduser foreman
usermod -G libvirt -a foreman
usermod -G libvirt-qemu -a foreman
virsh -c qemu+ssh://foreman@localhost/system list

(Auf der Foreman-Maschine):

mkdir /usr/share/foreman/.ssh
chmod 700 /usr/share/foreman/.ssh
chown foreman:foreman /usr/share/foreman/.ssh
sudo -u foreman ssh-keygen
sudo -u foreman ssh-copy-id foreman@<kvm_host>
sudo -u foreman ssh foreman@<kvm_host>
apt update && apt install foreman-libvirt
systemctl restart apache2

(Jetzt ab in das Foreman webUI):

Infrastructure -> Compute Resources -> New Compute Resource
Name: KVM-Host
Provider: Libvirt
URL: qemu+ssh://foreman@<kvm_host>/system
Display type: VNC
Console: Checked (yes)

Verbindung testen und dann können wir VMs über Foreman deployen.