gpt4 book ai didi

ssl - Libvirt 和 TLS 忽略 CA 文件设置

转载 作者:行者123 更新时间:2023-12-04 22:43:22 30 4
gpt4 key购买 nike

我有 3 个 KVM/libvirt 虚拟机管理程序,我想相互通信。
我有自己的 CA 和从属 CA。

我为每台机器创建了证书,并且每个/etc/libvirt/libvirtd.conf 都有以下证书:

listen_tls = 1
key_file = "/etc/pki/tls/private/serverX_libvirt_key.pem"
cert_file = "/etc/pki/tls/certs/serverX_crt.pem"
ca_file = "/etc/pki/tls/certs/CA_chain.pem"

CA_chain.pem文件显然包含链证书(Int-CA 和 CA)。
key 文件和证书已正确验证。

openssl verify -CAfile /etc/pki/tls/certs/CA_chain.pem /etc/pki/tls/certs//etc/pki/tls/certs/serverX_crt.pem
/etc/pki/tls/certs/serverX_crt.pem: OK

客户端证书在文档中定义为:

ls -lrt /etc/pki/libvirt/private/clientkey.pem
-r--------. 1 root root 3243 Apr 30 09:45 /etc/pki/libvirt/private/clientkey.pem

当然,它已通过我们的 CA 进行了验证:
openssl verify -CAfile /etc/pki/tls/certs/CA_chain.pem /etc/pki/libvirt/clientcert.pem
/etc/pki/libvirt/clientcert.pem: OK

ls -lrt /els -lrt /etc/pki/libvirt/clientcert.pem
-rw-r--r--. 1 root root 2297 Apr 30 10:07 /etc/pki/libvirt/clientcert.pemtc/pki/libvirt/private/clientkey.pem

但是,我无法连接到管理程序!

使用 virsh,我收到以下错误:

[root@serverX ~]# virsh -c qemu+tls://serverY list
error: failed to connect to the hypervisor
error: Cannot read CA certificate '/etc/pki/CA/cacert.pem': No such file or directory

证书权限正确,SELinux 正确。
但显然,缺少某些东西,我无法连接到服务器。

任何帮助,将不胜感激。

最佳答案

好的,我找到了。

问题似乎是 libvirt 的客户端没有 TLS 选项。因此,我们被迫使用默认位置。虽然我使用了私钥和证书的默认位置,但我没有为 CA 做同样的事情。

因此,我从 /etc/pki/tls/certs/CA_chain.pem 创建了一个链接至/etc/pki/CA/cacert.pem现在一切都很好。

mkdir -p /etc/pki/CA/
ln -s /etc/pki/tls/certs/CA_chain.pem /etc/pki/CA/cacert.pem

关于ssl - Libvirt 和 TLS 忽略 CA 文件设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61556076/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com