导读 | 最近有两台新的虚拟化主机安装好libvirtd后发现用以前的TCP连接方式会导致webvirtmgr无法和受控主机通信,显示验证失败,大概查了下是yum源中的 libvirt 更新了,默认加密模式变更了,导致使用saslpasswd2 -a libvirt 命令生成的密钥无法通过验证,折腾了下没搞好,就干脆切换到SSH方式进行控制。 |
系统环境:CentOS Linux release 7.3.1611 (Core)
虚拟化:libvirt 3.2.0 版本
在webvirtmgr服务器(服务端)生成密钥
[root@kvm_master ~] cd /home [root@kvm_master home] mkdir nginx #因为nginx用户在创建的时候是设置的sbin/nologin 所以这里需要手动创建家目录 [root@kvm_master home] chown nginx.nginx nginx/ [root@kvm_master home] chmod 700 nginx/ -R [root@kvm_master home] su - nginx -s /bin/bash -bash-4.2$ ssh-keygen ---期间输入yes后直接回车,回车 -bash-4.2$ touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no/nUserKnownHostsFile=/dev/null" >> ~/.ssh/config -bash-4.2$ chmod 0600 ~/.ssh/config
在kvm(受控端)服务器上配置webvirt用户
[root@kvm_10 home] useradd webvirtmgr [root@kvm_10 home] echo "123456" | passwd --stdin webvirtmgr [root@kvm_10 home] groupadd libvirt [root@kvm_10 home] usermod -G libvirt -a webvirtmgr
在webvirtmgr服务器(服务端)上,将ssh-key上传到kvm服务器上
[root@kvm_master home] su - nginx -s /bin/bash -bash-4.2$ ssh-copy-id webvirtmgr@192.168.0.23
在kvm(受控端)服务器上配置 libvirt ssh授权
[root@kvm_10 home] vim /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla [Remote libvirt SSH access] Identity=unix-user:webvirtmgr Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes
[root@kvm_10 home] chown -R webvirtmgr.webvirtmgr /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
重启 libvirtd 服务
[root@kvm_10 home] systemctl restart libvirtd
webvirtmgr 控制台中添加主机
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/121342.html