admin 发表于 2023-10-26 17:13:16

基于sasl认证配置libvirt

前提:使用virsh管理kvm虚拟机的时候出现需要使用密码


一、修改libvirtd配置
1.1修改 /etc/libvirt/libvirtd.conf :listen_tls = 0   #来禁用该伪指令(因为没有配置任何 TLS 证书)。否则,libvirtd 守护程序启动会失败
listen_tcp = 1  #来启用该伪指令
tcp_port = "16509"  #默认端口
auth_tcp = "sasl" #配置伪指令设置为 sasl,以启用通过 TCP 进行 SASL 认证

#如果启用tls,配置如下
auth_tls = "sasl"1.2 修改/etc/sysconfig/libvirtd#开启tcp端口
LIBVIRTD_ARGS="--listen"二、添加sasl2配置
2.1 设置加密方式 /etc/sasl2/libvirt.confmech_list:digest-md5
sasldb_path: /etc/libvirt/passwd.db2.2 安装所需依赖包:#一般我会把所有包装上 yum install cyrus-sasl*
yum install cyrus-sasl-md5-2.1.26-21.el7.x86_64 cyrus-sasl-devel-2.1.26-21.el7.x86_64三、重启libvirtd#如果调试或者没生效使用:libvirtd --daemon --listen --config /etc/libvirt/libvirtd.conf
systemctl restart libvirtd四、添加用户
注意这里必须是libvirt,这是application的名字,只有输入libvirt,才会使用配置/etc/sasl2/libvirt.conf,结果才会写到/etc/libvirt/passwd.db# saslpasswd2 -a libvirt admin
Password:
Again (for verification):如果使用qemu+tcp://连接,则应该enable digest-md5,这样交互会被加密。
如果使用qemu+tls://连接,则应该disable digest-md5,这样交互就不会被md5加密一次,然后再被TLS加密一次# virsh -c qemu+tcp://localhost/system nodeinfo
Please enter your authentication name:
Please enter your password:
CPU model:           x86_64
CPU(s):              24
CPU frequency:       1999 MHz
CPU socket(s):       1
Core(s) per socket:  6
Thread(s) per core:  2
NUMA cell(s):        2
Memory size:         134171180 KiB
注意:如果 KVM 主机正在运行防火墙,请确保该防火墙允许传入的流量通过 libvirtd 守护程序 TCP 侦听端口。在缺省情况下,该侦听端口为 16509


文章转载自:https://blog.51cto.com/foxhound/2051024

页: [1]
查看完整版本: 基于sasl认证配置libvirt