A.19.2.3. 身份验证失败
- 症状
- 在运行命令时,会出现以下错误(或类似):
virsh -c qemu://$hostname/system_list
$ virsh -c qemu://$hostname/system_list error: failed to connect to the hypervisor error: authentication failed: authentication failed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 正在调查
- 如果即使在使用了正确的凭证时也无法身份验证,则可能不会配置 SASL 身份验证。
- 解决方案
- 编辑
/etc/libvirt/libvirtd.conf
文件,并将auth_tcp
参数的值设置为sasl
。验证:cat /etc/libvirt/libvirtd.conf | grep auth_tcp auth_tcp = "sasl"
# cat /etc/libvirt/libvirtd.conf | grep auth_tcp auth_tcp = "sasl"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑
/etc/sasl2/libvirt.conf
文件,并将以下几行添加到文件中:mech_list: digest-md5 sasldb_path: /etc/libvirt/passwd.db
mech_list: digest-md5 sasldb_path: /etc/libvirt/passwd.db
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确定安装了 cyrus-sasl-md5 软件包:
yum install cyrus-sasl-md5
# yum install cyrus-sasl-md5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启
libvirtd
服务:systemctl restart libvirtd
# systemctl restart libvirtd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 libvirt SASL 设置用户名和密码:
saslpasswd2 -a libvirt 1
# saslpasswd2 -a libvirt 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow