前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM--使用SSH和SASL认证进行libvirt远程管理(十九)

KVM--使用SSH和SASL认证进行libvirt远程管理(十九)

作者头像
Kevin song
发布2022-11-19 09:34:05
1K0
发布2022-11-19 09:34:05
举报

libvirt远程管理

远程管理涉及对KVM主机上的虚拟资源(存储和虚拟机)进行远程管理。当将虚拟环境管理工作委派给其他用户,而又不授予对方KVM虚拟化管理程序登入访问权时,远程管理非常有用。libvirtd daemon负责管理KVM主机上所有的虚拟资源,并且有virsh和virt-manager等客户端工具能与它远程互动。

SASL和SSH认证进行libvirt远程管理

  • SSH通道(SSH Tunnels)
  • 简单鉴权和安全层(Simple Authentication and Security Layer,SASL )

1,SSH 通道:使用SSH 来远程连接虚拟化管理程序,对于能够使用虚拟资源的用户,要求具备虚拟化管理程序上的SSH登录证书,默认情况下只有root账户

代码语言:javascript
复制
[root@kvm-node2 ~]#  virsh -c qemu+ssh://root@192.168.100.235/system list --all
 Id    Name                           State
----------------------------------------------------
 5     9d5e23c04a                     running
 -     docker01                       shut off
 -     vm01                           shut off

[root@kvm-node2 ~]#  virsh -c qemu+ssh://root@192.168.100.235/system domblklist 9d5e23c04a
Target     Source
------------------------------------------------
vda        /kvm/img/9d5e23c04a.qcow2
vdb        /kvm/img/9d5e23c04a-vdb.qcow2
hda        -

2,SASL:提供安全的验证和数据加密。最简单的方式创建单独的用户证书数据库来验证libvirtd daemon。优势在于即非登录用户ID可用于管理KVM主机上的虚拟化资源。

(1)编辑 /etc/libvirt/libvirtd.conf 并更改

代码语言:javascript
复制
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "sasl"
auth_tls = "sasl"

(2)编辑 /etc/sysconfig/libvirtd 并取消此行的批注,以使libvirtd听取TCP/IP连接

代码语言:javascript
复制
LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen"

(3)添加sasl2配置,注释其他行,设置加密方式 /etc/sasl2/libvirt.conf

代码语言:javascript
复制
# egrep -v "*#|^$" /etc/sasl2/libvirt.conf 
mech_list:digest-md5
sasldb_path: /etc/libvirt/passwd.db

(4)重启libvirtd 服务

代码语言:javascript
复制
   systemctl restart libvirtd

(5)将用户 "admin" 添加到 "libvirt" SASL数据库

代码语言:javascript
复制
   saslpasswd2 –c –a libvirt admin
   Password:
   Again (for verification):

注意:只有输入libvirt才会使用配置/etc/sasl2/libvirt.conf,结果才会写到/etc/libvirt/passwd.db

(6)删除账户

代码语言:javascript
复制
saslpasswd2 -a libvirt -d admin

(7)查看账户

代码语言:javascript
复制
sasldblistusers2 -f /etc/libvirt/passwd.db
admin@kvm-node2: userPassword

(8)qemu+tcp安全地连接KVM虚拟化管理程序

代码语言:javascript
复制
root@kvm-node2 libvirt]# virsh -c qemu+tcp://192.168.100.235/system list 
Please enter your authentication name: admin
Please enter your password: 
 Id    Name                           State
----------------------------------------------------
 5     9d5e23c04a                     running
[root@kvm-node2 libvirt]# virsh -c qemu+tcp://192.168.100.235/system nodeinfo
Please enter your authentication name: admin
Please enter your password: 
CPU model:           x86_64
CPU(s):              2
CPU frequency:       2099 MHz
CPU socket(s):       2
Core(s) per socket:  1
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         8009288 KiB

SSH 通道和SASL可用于运行任何virsh命令。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档