CN111639329A - 虚拟机更新密码的方法及装置 - Google Patents
虚拟机更新密码的方法及装置 Download PDFInfo
- Publication number
- CN111639329A CN111639329A CN202010482941.9A CN202010482941A CN111639329A CN 111639329 A CN111639329 A CN 111639329A CN 202010482941 A CN202010482941 A CN 202010482941A CN 111639329 A CN111639329 A CN 111639329A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- password
- updating
- init
- cloud
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开虚拟机更新密码的方法及装置,涉及云计算应用辐射领域;虚拟机从OpenStack获得虚拟机更新密码的数据源,针对虚拟机重启之后执行周期时,新增cloud‑init更改模块,cloud‑init更改模块获取数据源更改虚拟机的配置文件,利用cloud‑init初始化模块读取更新的配置文件,实现对虚拟机密码的更新;可以在虚拟机创建初始化完成之后,同样在正常使用虚拟机过程中,随时能够使用cloud‑init更新虚拟机的密码或秘钥等信息,并且简单、快捷。
Description
技术领域
本发明公开虚拟机更新密码的方法及装置,涉及云计算应用辐射领域,具体地说是提供基于cloud-init的虚拟机更新密码的方法和装置。
背景技术
目前大部分公有云(openstack,AWS,Aliyun)都在使用cloud-init插件,cloud-init已经成为虚拟机元数据管理和OS系统配置初始化的事实标准.最早cloud-init由ubuntu的母公司Canonical开发,针对用户首次创建虚拟机时,将前台设置的主机名,密码或者秘钥等存入存放元数据的服务器(metadata server)。在openstack环境下当cloud-init随虚拟机启动而运行时,通过http协议访问metadata server,获取这些信息并修改主机配置;完成系统的环境初始化。
但cloud-init是为云环境中虚拟机的初始化而开发的工具,在虚拟机创建初始化完成之后,用户并不能在正常使用虚拟机过程中,随意的使用cloud-init更新虚拟机的密码或秘钥等信息。
发明内容
本发明针对现有技术的问题,提供虚拟机更新密码的方法及装置,通过对cloud-init的改进,利用cloud-init的现实流程,通过更新相关虚拟机的元数据,实现在虚拟机正常运行过程中,方便快捷的更新虚拟机密码和秘钥,完善cloud-int虚拟机密码设置的相关服务。
本发明提出的具体方案是:
虚拟机更新密码的方法:虚拟机从OpenStack获得虚拟机更新密码的数据源,
针对虚拟机重启之后执行周期时,新增cloud-init更改模块,cloud-init更改模块获取数据源更改虚拟机的配置文件,
利用cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
所述的虚拟机更新密码的方法中获取数据源的过程:
虚拟机通过相应接口向OpenStack发起数据请求,
OpenStack的neutron节点的metadata代理端接收数据请求,并根据虚拟机ID返回虚拟机更新密码的元数据。
所述的虚拟机更新密码的方法中所述的相应接口包括针对OpenStack封装的元数据管理接口。
所述的虚拟机更新密码的方法中具体步骤为:
虚拟机向OpenStack发起数据请求,获取虚拟机更新密码的元数据,
重启虚拟机,触发cloud-init顺序执行相关模块,
执行cloud-init更改模块,获取最新的元数据,写入配置文件,
执行cloud-init初始化模块,读取配置文件的配置,将更新的密码重新注入虚拟机。
虚拟机更新密码的系统,包括虚拟机、cloud-init更改模块及cloud-init初始化模块,
针对虚拟机重启之后执行周期时,cloud-init更改模块获取虚拟机从OpenStack获得的虚拟机更新密码的数据源,并利用数据源更改虚拟机的配置文件,
cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
所述的虚拟机更新密码的系统中虚拟机获取数据源的过程:
通过相应接口向OpenStack发起数据请求,
OpenStack的neutron节点的metadata代理端接收数据请求,并根据虚拟机ID返回虚拟机更新密码的元数据。
虚拟机更新密码的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的虚拟机更新密码的方法。
计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的虚拟机更新密码的方法。
本发明的有益之处是:
本发明提供虚拟机更新密码的方法及装置,只对cloud-init添加cloud-init更改模块,再结合OpenStack的云数据管理接口,实现只需要调用相关云数据的管理接口,就能轻松、快捷、方便的实现虚拟机更新密码的管理,既不用去安装多余其他不安全的插件,担心安装其他插件带来的安全风险,又可以在虚拟机创建初始化完成之后,同样在正常使用虚拟机过程中,随时能够使用cloud-init更新虚拟机的密码或秘钥等信息,并且简单、快捷。
附图说明
图1是现有技术中cloud-init初始化虚拟机流程示意图;
图2是本发明方法流程示意图;
图3是虚拟机获取元数据的方式示意图;
图4是虚拟机获取数据源流程示意图;
图5是本发明系统应用示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供虚拟机更新密码的方法:虚拟机从OpenStack获得虚拟机更新密码的数据源,
针对虚拟机重启之后执行周期时,新增cloud-init更改模块,cloud-init更改模块获取数据源更改虚拟机的配置文件,
利用cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
其中cloud-init可将openstack,AWS,Aliyun等众多云平台抽象成数据源,使用的接口可适配所有平台,cloud-init在初始化虚拟机时,就可获取信息使用一些模块对数据进行处理,如新建用户、启动脚本等,常见的配置包括:设定虚拟机的hostname、hosts文件、设定用户名密码、更新apt-get的本地缓存、调整文件系统的大小(注意不是调整分区的大小)等,都是在虚拟机创建完成之后,紧接着进行的虚拟机初始化,参考图1中Cloud-init提供了初始化密码,在虚拟机创建之初,通过读取配置文件的数据,如果配置相关密码,cloud-init就会初始虚拟机的密码;但是初始化只执行一次;原始初始化密码流程下:
用户创建虚拟机→虚拟机创建完成,触发cloud-init初始化任务→cloud-init读取配置文件→将配置文件内容写入虚拟机。
然而初始化并不能让用户在使用虚拟机过程中,随意的关机虚拟机的密码,而通过本发明方法在虚拟机创建初始化完成之后,可随时在虚拟机重启后利用cloud-init更改模块获取数据源更改虚拟机的配置文件,利用cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
实际应用中虚拟机在无法通过DHCP正确获取网络信息时,可通过config drive是获取metadata信息,常用于私有云中,config drive的默认格式是一个“ISO 9660”的文件系统,也支持VFAT,
而虚拟机能够自动正确配置网络,可以通过RESTful服务的方式获取metadata信息,metadata服务的公网IP地址为169.254.169.254:80,把我们需要的脚本、参数配置等等写入文本文件上传到metadata server上,然后虚拟机的cloud init通过RESTful API来获取metadata信息,并据此进行配置,参考图3。
本发明的一个实施例中,参考虚拟机能够自动正确配置网络时状态,说明了虚拟机获取数据源的过程:
虚拟机发起数据请求,请求地址一般都是169.254.169.254,请求发送到haproxyservice;增加相应的header参数,然后通过UNIC-Socket直接发送到neutron节点的metadata代理端;metadata代理根据虚拟机ID,通过计算节点的metadata API返回虚拟机的元数据,参考图4。
上述实施例里具体说明了虚拟机获取更新密码元数据的过程,为实现更新密码提供可能。
在本发明另一个实施例中,展示了可利用OpenStack的web控制台界面的方式,通过封装好的metadata元数据管理接口,具体实施本发明的步骤:
用户通过web控制台界面,选择更改密码功能,传递更改数据,
后台调用Nova更新metadata元数据管理接口,虚拟机向OpenStack发起数据请求,获取虚拟机更新密码的元数据,
重启虚拟机,触发cloud-init顺序执行相关模块,
先执行cloud-init更改模块,获取最新的元数据,写入配置文件,
再执行cloud-init初始化模块,读取配置文件的配置,将更新的密码重新注入虚拟机。
利用OpenStack的web控制台界面,通过封装好的metadata元数据管理接口实现元数据的获取及更新密码的实现,使虚拟机密码的更新更高效、简洁、方便、安全,并且不需要用户去了解更多的虚拟机操作原理,不需要用户去学习其他的麻烦的更改密码操作,不需要安装其他不安全的插件,用户只需要点击页面功能接口,输入更新后的密码,就能实现虚拟机的密码更新。
本发明还提供虚拟机更新密码的系统,包括虚拟机、cloud-init更改模块及cloud-init初始化模块,
针对虚拟机重启之后执行周期时,cloud-init更改模块获取虚拟机从OpenStack获得的虚拟机更新密码的数据源,并利用数据源更改虚拟机的配置文件,
cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
各模块或单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明还提供虚拟机更新密码的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的虚拟机更新密码的方法。
可以理解的是,本发明实施例示意的结构并不构成对装置的具体限定。在本发明的另一些实施例中,装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的虚拟机更新密码的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.虚拟机更新密码的方法,其特征是虚拟机从OpenStack获得虚拟机更新密码的数据源,
针对虚拟机重启之后执行周期时,新增cloud-init更改模块,cloud-init更改模块获取数据源更改虚拟机的配置文件,
利用cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
2.根据权利要求1所述的虚拟机更新密码的方法,其特征是获取数据源的过程:
虚拟机通过相应接口向OpenStack发起数据请求,
OpenStack的neutron节点的metadata代理端接收数据请求,并根据虚拟机ID返回虚拟机更新密码的元数据。
3.根据权利要求2所述的虚拟机更新密码的方法,其特征是所述的相应接口包括针对OpenStack封装的元数据管理接口。
4.根据权利要求1-3任一所述的虚拟机更新密码的方法,其特征是具体步骤为:
虚拟机向OpenStack发起数据请求,获取虚拟机更新密码的元数据,
重启虚拟机,触发cloud-init顺序执行相关模块,
执行cloud-init更改模块,获取最新的元数据,写入配置文件,
执行cloud-init初始化模块,读取配置文件的配置,将更新的密码重新注入虚拟机。
5.虚拟机更新密码的系统,其特征是包括虚拟机、cloud-init更改模块及cloud-init初始化模块,
针对虚拟机重启之后执行周期时,cloud-init更改模块获取虚拟机从OpenStack获得的虚拟机更新密码的数据源,并利用数据源更改虚拟机的配置文件,
cloud-init初始化模块读取更新的配置文件,实现对虚拟机密码的更新。
6.根据权利要求5所述的虚拟机更新密码的系统,其特征是虚拟机获取数据源的过程:
通过相应接口向OpenStack发起数据请求,
OpenStack的neutron节点的metadata代理端接收数据请求,并根据虚拟机ID返回虚拟机更新密码的元数据。
7.虚拟机更新密码的装置,其特征是包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的虚拟机更新密码的方法。
8.计算机可读介质,其特征是所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的虚拟机更新密码的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010482941.9A CN111639329A (zh) | 2020-06-01 | 2020-06-01 | 虚拟机更新密码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010482941.9A CN111639329A (zh) | 2020-06-01 | 2020-06-01 | 虚拟机更新密码的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111639329A true CN111639329A (zh) | 2020-09-08 |
Family
ID=72332909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010482941.9A Pending CN111639329A (zh) | 2020-06-01 | 2020-06-01 | 虚拟机更新密码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639329A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312149A (zh) * | 2021-06-18 | 2021-08-27 | 浪潮云信息技术股份公司 | 一种密码重置方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260217A (zh) * | 2015-11-03 | 2016-01-20 | 国云科技股份有限公司 | 一种外部重置linux虚拟机密码的方法 |
CN107577516A (zh) * | 2017-07-28 | 2018-01-12 | 华为技术有限公司 | 虚拟机密码重置方法、装置和系统 |
CN109948332A (zh) * | 2019-04-02 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种物理机登录密码重置方法及装置 |
-
2020
- 2020-06-01 CN CN202010482941.9A patent/CN111639329A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260217A (zh) * | 2015-11-03 | 2016-01-20 | 国云科技股份有限公司 | 一种外部重置linux虚拟机密码的方法 |
CN107577516A (zh) * | 2017-07-28 | 2018-01-12 | 华为技术有限公司 | 虚拟机密码重置方法、装置和系统 |
CN109948332A (zh) * | 2019-04-02 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种物理机登录密码重置方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312149A (zh) * | 2021-06-18 | 2021-08-27 | 浪潮云信息技术股份公司 | 一种密码重置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572393B2 (en) | Object memory management unit | |
CN108958742A (zh) | 一种批量安装操作系统的方法、相关设备及系统 | |
CN109067599B (zh) | 一种部署集群的方法及装置 | |
CN113347049B (zh) | 一种服务器集群部署方法、装置、计算设备及存储介质 | |
CN111104201A (zh) | 系统迁移方法和装置、电子设备、存储介质 | |
CN106648838B (zh) | 一种资源池管理的配置方法及装置 | |
CN114969713A (zh) | 设备验证方法、设备及系统 | |
CN107493204B (zh) | 一种镜像检测的方法以及装置 | |
CN111639329A (zh) | 虚拟机更新密码的方法及装置 | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 | |
CN107659621B (zh) | 一种raid控制卡配置方法及装置 | |
CN109656674B (zh) | 一种计算机设备、虚拟化芯片及数据传输方法 | |
CN106484460A (zh) | 一种中大规模的存储集群系统的安装方法 | |
CN109120588B (zh) | 获取验证信息的方法和数据中心 | |
CN114448939A (zh) | 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器 | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Loading System Images and Configuration Files | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
Cisco | Image and Configuration File Load Commands | |
CN109739615B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200908 |
|
RJ01 | Rejection of invention patent application after publication |