以非 root 用户身份连接 libvirt

以非 root 用户身份连接 libvirt

我正在尝试在 Foreman 中配置 libvirt 计算资源,并将 KVM 和 Foreman 安装在同一 Centos 7 主机上。

添加计算资源有效,但添加使用该帐户的计算资源无效。qemu+ssh://[email protected]/systemqemu+ssh://hypervisor.example.com/systemforeman

使用该foreman帐户时出现以下错误:

bash-4.2$ virsh -c qemu+ssh://hypervisor.example.com/system list
error: failed to connect to the hypervisor
error: End of file while reading data: : Input/output error

我已添加foreman到该libvirtd组并已access_drivers = [ "polkit" ]在中进行配置/etc/libvirt/libvirtd.conf

我跟着https://wiki.libvirt.org/page/SSHPolicyKitSetup并创建:

  • /etc/polkit-1/rules.d/90-foreman.rules

    polkit.addRule(function(action, subject) {
        if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("libvirt")) {
            return polkit.Result.YES;
        }
    });
    
  • /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla

    [Allow foreman libvirt management permissions]
    Identity=unix-user:foreman
    Action=org.libvirt.unix.manage
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes
    

两种配置都不起作用,我错过了什么?

相关内容