CN109002344A - 一种云管理平台重置kvm虚拟机密码的方法 - Google Patents

一种云管理平台重置kvm虚拟机密码的方法 Download PDF

Info

Publication number
CN109002344A
CN109002344A CN201810602642.7A CN201810602642A CN109002344A CN 109002344 A CN109002344 A CN 109002344A CN 201810602642 A CN201810602642 A CN 201810602642A CN 109002344 A CN109002344 A CN 109002344A
Authority
CN
China
Prior art keywords
virtual machine
password
management platform
cloud management
kvm virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810602642.7A
Other languages
English (en)
Other versions
CN109002344B (zh
Inventor
邓学华
黄衍博
曾星
麦剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Ruijiang Cloud Computing Co Ltd
Guangdong Eflycloud Computing Co Ltd
Original Assignee
Guangdong Ruijiang Cloud Computing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Ruijiang Cloud Computing Co Ltd filed Critical Guangdong Ruijiang Cloud Computing Co Ltd
Priority to CN201810602642.7A priority Critical patent/CN109002344B/zh
Publication of CN109002344A publication Critical patent/CN109002344A/zh
Application granted granted Critical
Publication of CN109002344B publication Critical patent/CN109002344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

一种云管理平台重置KVM虚拟机密码的方法,包括以下步骤:云管理平台接收到用户需要重置密码的请求,并确定需要重置密码的KVM虚拟机、用户名和新密码;云管理平台获取到需要重置密码的KVM虚拟机所在的Linux宿主机的IP地址,并连接到Linux宿主机;云管理平台获取到KVM虚拟机的Domain对象;云管理平台以参数的形式写入用户名和新密码;setUserPassword接口向unix socket文件写入重置密码所需的文件内容,并将文件内容传入KVM虚拟机的virtio‑serial串口设备;KVM虚拟机里的qemu guest agent应用程序接收重置密码所需的文件内容并执行修改密码操作,完成密码重置。本发明实现云管理平台在不破坏用户虚拟机数据和不重启虚拟机的条件下重置虚拟机密码,保证用户数据的完整性。

Description

一种云管理平台重置KVM虚拟机密码的方法
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种云管理平台重置KVM虚拟机密码的方法。
背景技术
当云管理平台的用户忘记了账号下的虚拟机登录密码时,通常有两种方式找回密码,一是对虚拟机的操作系统进行重装;二是使用第三方工具对虚拟机密码进行暴力破解。但重装虚拟机操作系统会消耗宿主机大量的系统资源,耗时过长且会导致用户数据丢失;而实用第三方工具破解虚拟机密码操作发凡且耗时较长,无论采取哪一种方式都是不太可取的。
发明内容
本发明的目的在于提出一种云平台重置KVM虚拟化平台Linux虚拟机密码的方法,实现云管理平台在不破坏用户虚拟机数据和不重启虚拟机的条件下重置虚拟机密码,达到提高用户对云主机的运维效率和保护用户数据的完整性,提升了云管理平台的用户体验的效果。
为达此目的,本发明采用以下技术方案:
一种云管理平台重置KVM虚拟机密码的方法,包括云管理平台、KVM虚拟机和Linux宿主机,所述云管理平台重置所述KVM虚拟机密码包括以下步骤:
步骤A:所述云管理平台接收到用户需要重置密码的请求,并确定需要重置密码的KVM虚拟机、用户名和新密码;
步骤B:所述云管理平台通过查询数据库获取到需要重置密码的所述KVM虚拟机所在的所述Linux宿主机的IP地址,并连接到所述Linux宿主机;
步骤C:所述云管理平台获取到所述KVM虚拟机的Domain对象;
步骤D:所述云管理平台通过调用所述KVM虚拟机的Domain对象上的setUserPassword接口,以参数的形式写入所述用户名和新密码;
步骤E:所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,并将文件内容传入所述KVM虚拟机的virtio-serial串口设备;
步骤F:所述KVM虚拟机里的qemu guest agent应用程序接受重置密码所需的文件内容并执行修改密码操作,完成密码重置。
优选的,所述云管理平台通过所述KVM虚拟机的名称调用Libvirt Api,以TLS的方式远程连接到所述Linux宿主机。
优选的,所述云管理平台通过所述KVM虚拟机的名称调用所述Libvirt Api的connection.lookupByName()接口获取所述KVM虚拟机的Domain对象。
优选的,还包括QEMU,所述setUserPassword接口通过调用所述QEMU向所述unixsocket文件写入重置密码所需的文件内容。
优选的,所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,所述文件内容包括所述用户名、所述新密码、修改密码任务、配置网络任务和修改Linux宿主机名称任务。
优选的,还包括socket通道,所述setUserPassword接口通过所述socket通道将文件内容传入所述KVM虚拟机的virtio-serial串口设备。
本发明的有益效果:
简单高效用时短,不影响用户数据,无需重启虚拟机即可实现密码的重置,提高用户对云主机的运维效率以及保护了用户数据的完整性,提升了云管理平台的用户体验。
附图说明
图1是本发明的云管理平台重置KVM虚拟虚拟机密码的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本实施例的一种云管理平台重置KVM虚拟机密码的方法,包括云管理平台、KVM虚拟机和Linux宿主机,如图1所示,所述云管理平台重置所述KVM虚拟机密码包括以下步骤:
步骤A:所述云管理平台接收到用户需要重置密码的请求,并确定需要重置密码的KVM虚拟机、用户名和新密码;
步骤B:所述云管理平台通过查询数据库获取到需要重置密码的所述KVM虚拟机所在的所述Linux宿主机的IP地址,并连接到所述Linux宿主机;
步骤C:所述云管理平台获取到所述KVM虚拟机的Domain对象;
步骤D:所述云管理平台通过调用所述KVM虚拟机的Domain对象上的setUserPassword接口,以参数的形式写入所述用户名和新密码;
步骤E:所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,并将文件内容传入所述KVM虚拟机的virtio-serial串口设备;
步骤F:所述KVM虚拟机里的qemu guest agent应用程序接受重置密码所需的文件内容并执行修改密码操作,完成密码重置。
当所述云管理平台的用户忘记了其帐号下的虚拟机的登录密码时,通常的做法有以下两种:
1、对虚拟机的操作系统进行重装。
2、使用第三方工具对虚拟机密码进行暴力破解。
但上述方法存在以下弊端:
1、重装虚拟机操作系统会消耗宿主机大量的系统资源,耗时较长并且会导致用户数据丢失;
2、使用第三方工具破解虚拟机密码操作麻烦并且耗时较长;
3、需要重启虚拟机。
而用户数据是至关重要的,丢失用户数据很可能会造成严重的后果,而本发明在不需要重启虚拟机以及重装操作系统的基础上,即可实现密码重置,简单有效,很好的保护了用户数据的完整性。
优选的,所述云管理平台通过所述KVM虚拟机的名称调用Libvirt Api,以TLS的方式远程连接到所述Linux宿主机。
KVM是基于虚拟化扩展的X86硬件的开源的Linux原生的全虚拟化解决方案。KVM中,虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;虚机的每个虚拟CPU被实现为一个常规的Linux线程。这使得KMV能够使用Linux内核的已有功能。
而Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU虚拟化技术。
通过KVM虚拟机和Libvirt Api的配合可连接到Linux宿主机,是实现密码重置基础。
优选的,所述云管理平台通过所述KVM虚拟机的名称调用所述Libvirt Api的connection.lookupByName()接口获取所述KVM虚拟机的Domain对象。
获取到所述Domain对象是为了能够使用所述Domain对象上的setUserPassword接口,所述setUserPassword接口是为了能够向用户名和新密码写入,是实现密码重置的基础。
优选的,还包括QEMU,所述setUserPassword接口通过调用所述QEMU向所述unixsocket文件写入重置密码所需的文件内容。
QEMU是一款开源的模拟器及虚拟机监管器,具有开源,可移植,仿真速度快的特点,通过调用QEMU来向所述unix socket文件写入重置密码所需的文件内容,是利用了QEMU仿真速度快,能够实时运行程序的特点,使得能够在短时间内写入重置密码所需的文件内容。
而因为qemu guest agent应用程序是一个运行在虚拟机内部的普通应用程序,通过读写串口设备与宿主机上的socket通道进行交互,而QEMU正好提供了串口设备的模拟及数据交换的通道,因此调用QEMU是必须的。
优选的,所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,所述文件内容包括所述用户名、所述新密码、修改密码任务、配置网络任务和修改Linux宿主机名称任务。
优选的,还包括socket通道,所述setUserPassword接口通过所述socket通道将文件内容传入所述KVM虚拟机的virtio-serial串口设备。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (6)

1.一种云管理平台重置KVM虚拟机密码的方法,包括云管理平台、KVM虚拟机和Linux宿主机,其特征在于:所述云管理平台重置所述KVM虚拟机密码包括以下步骤:
步骤A:所述云管理平台接收到用户需要重置密码的请求,并确定需要重置密码的KVM虚拟机、用户名和新密码;
步骤B:所述云管理平台通过查询数据库获取到需要重置密码的所述KVM虚拟机所在的所述Linux宿主机的IP地址,并连接到所述Linux宿主机;
步骤C:所述云管理平台获取到所述KVM虚拟机的Domain对象;
步骤D:所述云管理平台通过调用所述KVM虚拟机的Domain对象上的setUserPassword接口,以参数的形式写入所述用户名和新密码;
步骤E:所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,并将文件内容传入所述KVM虚拟机的virtio-serial串口设备;
步骤F:所述KVM虚拟机里的qemu guest agent应用程序接收重置密码所需的文件内容并执行修改密码操作,完成密码重置。
2.根据权利要求1所述一种云管理平台重置KVM虚拟机密码的方法,其特征在于:
所述云管理平台通过所述KVM虚拟机的名称调用Libvirt Api,以TLS的方式远程连接到所述Linux宿主机。
3.根据权利要求2所述一种云管理平台重置KVM虚拟机密码的方法,其特征在于:
所述云管理平台通过所述KVM虚拟机的名称调用所述Libvirt Api的connection.lookupByName()接口获取所述KVM虚拟机的Domain对象。
4.根据权利要求1所述一种云管理平台重置KVM虚拟机密码的方法,其特征在于:
还包括QEMU,所述setUserPassword接口通过调用所述QEMU向所述unix socket文件写入重置密码所需的文件内容。
5.根据权利要求1所述一种云管理平台重置KVM虚拟机密码的方法,其特征在于:
所述setUserPassword接口向unix socket文件写入重置密码所需的文件内容,所述文件内容包括所述用户名、所述新密码、修改密码任务、配置网络任务和修改Linux宿主机名称任务。
6.根据权利要求1所述一种云管理平台重置KVM虚拟机密码的方法,其特征在于:
还包括socket通道,所述setUserPassword接口通过所述socket通道将文件内容传入所述KVM虚拟机的virtio-serial串口设备。
CN201810602642.7A 2018-06-12 2018-06-12 一种云管理平台重置kvm虚拟机密码的方法 Active CN109002344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810602642.7A CN109002344B (zh) 2018-06-12 2018-06-12 一种云管理平台重置kvm虚拟机密码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810602642.7A CN109002344B (zh) 2018-06-12 2018-06-12 一种云管理平台重置kvm虚拟机密码的方法

Publications (2)

Publication Number Publication Date
CN109002344A true CN109002344A (zh) 2018-12-14
CN109002344B CN109002344B (zh) 2021-01-15

Family

ID=64600047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810602642.7A Active CN109002344B (zh) 2018-06-12 2018-06-12 一种云管理平台重置kvm虚拟机密码的方法

Country Status (1)

Country Link
CN (1) CN109002344B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266646A (zh) * 2019-05-21 2019-09-20 东软集团股份有限公司 服务主机、密码管理方法及存储介质
CN110442426A (zh) * 2019-07-25 2019-11-12 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN110471744A (zh) * 2019-08-20 2019-11-19 北京首都在线科技股份有限公司 密码修改方法、装置、设备和计算机可读存储介质
CN110532761A (zh) * 2019-08-16 2019-12-03 苏州浪潮智能科技有限公司 一种更新虚拟机密码的方法及装置
CN111061619A (zh) * 2019-12-26 2020-04-24 紫光云(南京)数字技术有限公司 一种基于speccpu测试cpu虚拟化性能的方法
CN111124535A (zh) * 2019-12-06 2020-05-08 济南浪潮数据技术有限公司 云主机qga的功能扩展方法、装置、设备及存储介质
CN111225078A (zh) * 2019-12-31 2020-06-02 北京安码科技有限公司 基于Socket技术的快速获取KVM虚拟机地址的方法
CN111240924A (zh) * 2019-12-27 2020-06-05 广东睿江云计算股份有限公司 一种Linux虚拟机Socket监听的检测方法及其系统
CN111740822A (zh) * 2020-06-17 2020-10-02 中国银行股份有限公司 分布式系统用户密码批量更新方法及装置
CN115840937A (zh) * 2023-02-21 2023-03-24 中科方德软件有限公司 控制方法、装置及电子设备
CN117591246A (zh) * 2024-01-18 2024-02-23 杭州优云科技股份有限公司 一种kvm虚拟机web终端的实现方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027852A1 (en) * 2013-08-30 2015-03-05 Tencent Technology (Shenzhen) Company Limited Method and apparatus for resetting a user-login password for a virtual machine
CN105260217A (zh) * 2015-11-03 2016-01-20 国云科技股份有限公司 一种外部重置linux虚拟机密码的方法
CN105530246A (zh) * 2015-12-04 2016-04-27 华为技术有限公司 虚拟机管理的方法、装置和系统
CN106529241A (zh) * 2016-11-18 2017-03-22 郑州云海信息技术有限公司 一种虚拟机用户账号及密码重置方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027852A1 (en) * 2013-08-30 2015-03-05 Tencent Technology (Shenzhen) Company Limited Method and apparatus for resetting a user-login password for a virtual machine
CN105260217A (zh) * 2015-11-03 2016-01-20 国云科技股份有限公司 一种外部重置linux虚拟机密码的方法
CN105530246A (zh) * 2015-12-04 2016-04-27 华为技术有限公司 虚拟机管理的方法、装置和系统
CN106529241A (zh) * 2016-11-18 2017-03-22 郑州云海信息技术有限公司 一种虚拟机用户账号及密码重置方法及系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266646A (zh) * 2019-05-21 2019-09-20 东软集团股份有限公司 服务主机、密码管理方法及存储介质
CN110442426A (zh) * 2019-07-25 2019-11-12 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN110442426B (zh) * 2019-07-25 2023-09-26 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN110532761A (zh) * 2019-08-16 2019-12-03 苏州浪潮智能科技有限公司 一种更新虚拟机密码的方法及装置
CN110471744A (zh) * 2019-08-20 2019-11-19 北京首都在线科技股份有限公司 密码修改方法、装置、设备和计算机可读存储介质
CN110471744B (zh) * 2019-08-20 2021-11-30 北京首都在线科技股份有限公司 密码修改方法、装置、设备和计算机可读存储介质
CN111124535A (zh) * 2019-12-06 2020-05-08 济南浪潮数据技术有限公司 云主机qga的功能扩展方法、装置、设备及存储介质
CN111124535B (zh) * 2019-12-06 2022-06-03 济南浪潮数据技术有限公司 云主机qga的功能扩展方法、装置、设备及存储介质
CN111061619A (zh) * 2019-12-26 2020-04-24 紫光云(南京)数字技术有限公司 一种基于speccpu测试cpu虚拟化性能的方法
CN111240924A (zh) * 2019-12-27 2020-06-05 广东睿江云计算股份有限公司 一种Linux虚拟机Socket监听的检测方法及其系统
CN111240924B (zh) * 2019-12-27 2023-05-12 广东睿江云计算股份有限公司 一种Linux虚拟机Socket监听的检测方法及其系统
CN111225078B (zh) * 2019-12-31 2023-04-28 北京安码科技有限公司 基于Socket技术的快速获取KVM虚拟机地址的方法
CN111225078A (zh) * 2019-12-31 2020-06-02 北京安码科技有限公司 基于Socket技术的快速获取KVM虚拟机地址的方法
CN111740822A (zh) * 2020-06-17 2020-10-02 中国银行股份有限公司 分布式系统用户密码批量更新方法及装置
CN115840937A (zh) * 2023-02-21 2023-03-24 中科方德软件有限公司 控制方法、装置及电子设备
CN117591246A (zh) * 2024-01-18 2024-02-23 杭州优云科技股份有限公司 一种kvm虚拟机web终端的实现方法和装置
CN117591246B (zh) * 2024-01-18 2024-05-03 杭州优云科技股份有限公司 一种kvm虚拟机web终端的实现方法和装置

Also Published As

Publication number Publication date
CN109002344B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN109002344A (zh) 一种云管理平台重置kvm虚拟机密码的方法
US10353725B2 (en) Request processing techniques
US7937701B2 (en) ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US11093270B2 (en) Fast-booting application image
US8650273B2 (en) Virtual serial concentrator for virtual machine out-of-band management
US9529615B2 (en) Virtual device emulation via hypervisor shared memory
EP2881860B1 (en) Method for implementing an interrupt between virtual processors, related device, and system
US9697031B2 (en) Method for implementing inter-virtual processor interrupt by writing register data in a single write operation to a virtual register
CN105765534A (zh) 虚拟计算系统和方法
US9588793B2 (en) Creating new virtual machines based on post-boot virtual machine snapshots
US9792136B2 (en) Hardware assisted inter hypervisor partition data transfers
US8813071B2 (en) Storage reclamation systems and methods
US8793688B1 (en) Systems and methods for double hulled virtualization operations
US10664415B2 (en) Quality of service enforcement and data security for containers accessing storage
US9003094B2 (en) Optimistic interrupt affinity for devices
US10353727B2 (en) Extending trusted hypervisor functions with existing device drivers
US20130054861A1 (en) Pessimistic interrupt affinity for devices
US10467078B2 (en) Crash dump extraction of guest failure
JP2022523522A (ja) セキュア・インターフェイス制御の高レベルのページ管理
US20140229566A1 (en) Storage resource provisioning for a test framework
Tamane A review on virtualization: A cloud technology
US20160019077A1 (en) Importing a running vm
EP3161652B1 (en) Full virtual machine functionality
US20230205671A1 (en) Multipath diagnostics for kernel crash analysis via smart network interface controller
CN114327741A (zh) 服务器系统、容器设置方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant