BIOS密码及登录参数的远程预配置方法、系统、装置及介质与流程

文档序号:33037878发布日期:2023-01-24 20:32阅读:214来源:国知局
BIOS密码及登录参数的远程预配置方法、系统、装置及介质与流程
bios密码及登录参数的远程预配置方法、系统、装置及介质
技术领域
1.本发明涉及计算机技术领域,更具体的说是涉及一种bios密码及登录参数的远程预配置方法、系统、装置及介质。


背景技术:

2.bios设置程序是储存在bios芯片中的,只有在开机时才可以进行设置。bmc可以实现服务器的相关控制、信息监督等功能,是直观呈现服务器信息的平台。服务器客户可以通过web、redfish、ipmitool、snmp工具等访问服务器bmc以获取服务器的信息。redfish是相比传统服务器管理ipmi(intelligent platform management interface)更安全、灵活性更高的一种方式,采用人类可读界面进行数据展示及信息更新。
3.为了防止他人修改主板cmos设置,保护setup配置信息,bios可设置登录密码,输入正确密码后方可登录bios。在服务器中,该bios密码及登录参数单独保存在bios侧,如果想要修改相关信息,需要开机后输入正确密码进入bios,修改相关信息后保存,所设置内容重启服务器之后生效。
4.现有服务器对于bios密码及登录参数的设置,是通过在服务器开机初始阶段进入bios,修改setup界面信息并保存,重启服务器再次进入bios验证是否生效。目前通过redfish设置bios密码的方式仅能进行密码项单项的配置,且该过程也无法通过bmc对用户进行展示,更无法满足用户多给相关参数通过一次打包进行设置的需求。目前,当用户服务器处在开机运行状态下支持业务时,如果想要设置bios登录密码,首先需要重启服务器进行配置,配置完后再次重启服务器生效,影响了服务器对业务的正常支持。而且,由于bios登录过程提示较少,用户在误操作时获得提示信息不够全面,操作便捷性较低。


技术实现要素:

5.针对以上问题,本发明的目的在于提供一种bios密码及登录参数的远程预配置方法、系统、装置及介质,无需重启服务器进入bios setup界面,即可在维持服务器正常使用时,通过redfish进行批量预设置bios密码等多项登录选项,待用户可以停止业务重启服务器时,随着服务器重启生效。
6.本发明为实现上述目的,通过以下技术方案实现:一种bios密码及登录参数的远程预配置方法,包括:
7.bmc与bios通过使用相同的双重sha256加密算法对密码加密;
8.bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步;
9.服务器首次开机,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区;
10.通过bmc redfish进行biso的模拟登录;
11.通过bmc redfish进行biso登录参数的修改;
12.当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存
区中存储的相应参数项。
13.进一步,所述bmc与bios通过使用相同的双重sha256加密算法对密码加密,包括:
14.将加密后得到的密文的前十二字节进行同步后对比验证,验证通过后,相应的验证请求方获取操作权限。
15.进一步,所述同步结构体包括:
16.更新标志updateflag、锁定时长locktime、密码检查开关pwdcheck、固定复杂度开关pwdcomplex、固定密码长度pwdlen、重试次数retrytimes和密文pwd。
17.进一步,所述更新标志updateflag,作为bmc更新标志,其资源量为1,当用户通过bmc更新密码或登录参数时,该标志位置1,表示待取资源量为1;当bios读取该标志位为1时,同步bmc提供的新选项值,而后将该标志位置0,表示资源已被取走,同步已完成。
18.进一步,所述锁定时长locktime,用于记录用户输入错误密码次数超过重试次数后用户被锁定的时长;所述密码检查开关pwdcheck、固定复杂度开关pwdcomplex、固定密码长度pwdlen和重试次数retrytimes,用于记录相应的bios登录参数;所述密文pwd,用于记录bmc与bios通过使用相同的双重sha256加密算法对密码加密后生成密文的前十二字节。
19.进一步,所述通过bmc redfish进行biso的模拟登录,包括:
20.通过redfish方式在postman界面进行biso的模拟登录,对相关参数进行查询和修改;
21.模拟登录时,对重试次数、锁定时长进行测试验证,并根据密码长度限制以及密码规则进行新密码设置和登录验证。
22.进一步,所述通过bmc redfish进行biso登录参数的修改,包括:
23.根据修改参数项的范围通过bmc redfish进行biso登录参数的修改;
24.修改成功后,eeprom中同步结构体的信息同步进行修改,修改的参数立即生效,并支持即时验证;
25.对修改的biso登录参数进行验证后,根据与预期的对比结果进行优化修改;
26.bmc会保存最后一次最终修改的biso登录参数作为与bios同步的内容,在服务器重启后生效。
27.相应的,本发明还公开了一种bios密码及登录参数的远程预配置系统,包括:
28.加密模块,用于bmc与bios通过使用相同的双重sha256加密算法对密码加密;同步模块,用于bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步;
29.初始化模块,用于服务器首次开机后,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区;
30.模拟登录模块,用于通过bmc redfish进行biso的模拟登录;
31.修改模块,用于通过bmc redfish进行biso登录参数的修改;
32.缓存读取模块,用于当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。
33.相应的,本发明公开了一种bios密码及登录参数的远程预配置装置,包括:
34.存储器,用于存储bios密码及登录参数的远程预配置程序;
35.处理器,用于执行所述bios密码及登录参数的远程预配置程序时实现如上文任一
项所述bios密码及登录参数的远程预配置方法的步骤。
36.相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有bios密码及登录参数的远程预配置程序,所述bios密码及登录参数的远程预配置程序被处理器执行时实现如上文任一项所述bios密码及登录参数的远程预配置方法的步骤。
37.对比现有技术,本发明有益效果在于:本发明公开了一种bios密码及登录参数的远程预配置方法、系统、装置及介质,通过bmc redfish远程预配置bios密码的方式,实现了在无需事先重启进入bios的情况下,通过redfish对bios密码及登录参数进行远程批量查询、打包配置。与进入bios setup界面配置的传统方式相比,更加灵活。本发明能够模拟登录验证各项参数工作状态,无需重启进入bios后进行参数验证,节省了运维测试时间,提高工作效率。
38.本发明通过设计一种同步结构体,避免了bmc与bios同一次开机阶段共同写入时造成的冲突,并且除了同步密码信息之外,还能同步其余各项密码参数,可以使用户一并打包完成设置。
39.本发明能够通过redfish模拟各项参数生效时的现象,方便用户进行无需重启的快速参数验证,能极大的提高了用户设置验证的便捷性,避免设置后重启进入bios setup查看配置效果造成的人力损耗。
40.本发明通过一种缓存机制在代码层进行缓存,快速返回查询值,来减少bmc对eeprom的读取。由于通过redfish进行参数配置存在全体和单一参数修改的多种情况,如果全部通过直接读取eeprom的方式,难免造成程序运行时间和器件寿命的损耗,所以当信息没有被bmc侧用户或者bios侧修改时,便可复用之前缓存的各项参数信息,有效的减少对eeprom的直接读取次数。
41.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1是本发明具体实施方式的方法流程图。
44.图2是本发明具体实施方式的系统结构图。
45.图中,1、加密模块;2、同步模块;3、初始化模块;4、模拟登录模块;5、修改模块;6、缓存读取模块。
具体实施方式
46.本发明的核心是提供一种bios密码及登录参数的远程预配置方法,现有技术中,当用户服务器处在开机运行状态下支持业务时,如果想要设置bios登录密码,首先需要重启服务器进行配置,配置完后再次重启服务器生效,影响了服务器对业务的正常支持。而且,由于bios登录过程提示较少,用户在误操作时获得提示信息不够全面,操作便捷性较
低。
47.而本发明提供的bios密码及登录参数的远程预配置方法,首先,bmc与bios通过使用相同的双重sha256加密算法对密码加密,并通过新增进程利用同步结构体对bios密码及登录参数进行同步。此时,服务器首次开机,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区。然后,通过bmc redfish进行biso的模拟登录和biso登录参数的修改。另外,当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。由此可见,本发明无需重启服务器进入bios setup界面,即可在维持服务器正常使用时,通过redfish进行批量预设置bios密码等多项登录选项,待用户可以停止业务重启服务器时,随着服务器重启生效。
48.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.实施例一:
50.如图1所示,本实施例提供了一种bios密码及登录参数的远程预配置方法,包括如下步骤:
51.s1:bmc与bios通过使用相同的双重sha256加密算法对密码加密。
52.具体来说,bmc与bios通过使用相同的双重sha256加密算法对密码加密,将得到密文的前十二字节进行同步后比对验证,验证通过方可获得权限进行后续操作。
53.s2:bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步。
54.bmc和bios内新增进程对bios密码及登录参数进行同步,利用整数型信号量机制概念,通过同步结构体实现信息的同步。
55.其中,同步结构体包括:更新标志updateflag、锁定时长locktime、密码检查开关pwdcheck、固定复杂度开关pwdcomplex、固定密码长度pwdlen、重试次数retrytimes和密文pwd。
56.更新标志updateflag,作为bmc更新标志,其资源量为1,当用户通过bmc更新密码或登录参数时,该标志位置1,表示待取资源量为1;当bios读取该标志位为1时,同步bmc提供的新选项值,而后将该标志位置0,表示资源已被取走,同步已完成。
57.锁定时长locktime,用于记录用户输入错误密码次数超过重试次数后用户被锁定的时长。
58.密码检查开关pwdcheck、固定复杂度开关pwdcomplex、固定密码长度pwdlen和重试次数retrytimes,用于记录其余登录参数,与bios登录参数一一对应。
59.密文pwd,用于记录bmc与bios通过使用相同的双重sha256加密算法对密码加密后生成密文的前十二字节。
60.s3:服务器首次开机,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区。
61.具体的,服务器首次开机,bios将密码及登陆参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容。同时,将同步结构体内容存储在缓冲
区。
62.s4:通过bmc redfish进行biso的模拟登录。
63.具体来说,通过bmc redfish进行模拟登录,并且可对相关参数进行查询和修改。模拟登录功能将bios登录过程通过redfish方式在postman界面实现,可对重试次数、锁定时长进行测试验证,还可根据密码长度限制以及密码规则进行新密码设置和登录验证,防止使用bios验证时多次输入错误密码造成bios锁死影响服务器正常使用及客户业务的支持。
64.s5:通过bmc redfish进行biso登录参数的修改。
65.具体的,用户在利用redfish修改任意参数时,需要满足修改参数项的范围等条件要求,修改成功后,eeprom中信息根据用户修改而改变,redfish模拟登录对于修改的参数会立即生效,支持即时验证,用户验证后根据是否与预期有出入进行多次优化修改,bmc会保存最后一次最终修改作为与bios同步的内容,在用户自主决定服务器重启后生效。
66.s6:当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。
67.由于正常使用该方法时,执行读取的次数远远大于进行设置的次数,本方法利用一种带有标志位的缓存机制来减少对eeprom的直接读取,若eeprom中信息未更改,即用户未在redfish或者bios进行参数修改,当前信息未发生改变时,直接读取该程序内暂存参数项。
68.本实施例提供了一种bios密码及登录参数的远程预配置方法,通过bmc redfish远程预配置bios密码的方式,实现了在无需事先重启进入bios的情况下,通过redfish对bios密码及登录参数进行远程批量查询、打包配置。与进入bios setup界面配置的传统方式相比,更加灵活。本方法能够模拟登录验证各项参数工作状态,无需重启进入bios后进行参数验证,节省了运维测试时间,提高工作效率。
69.实施例二:
70.基于实施例一,如图2所示,本发明还公开了一种bios密码及登录参数的远程预配置系统,包括:加密模块1、同步模块2、初始化模块3、模拟登录模块4、修改模块5和缓存读取模块6。
71.加密模块1,用于bmc与bios通过使用相同的双重sha256加密算法对密码加密。还用于将加密后得到的密文的前十二字节进行同步后对比验证,验证通过后,相应的验证请求方获取操作权限。
72.同步模块2,用于bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步。
73.初始化模块3,用于服务器首次开机后,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区。
74.模拟登录模块4,用于通过bmc redfish进行biso的模拟登录。
75.模拟登录模块4具体用于:通过redfish方式在postman界面进行biso的模拟登录,对相关参数进行查询和修改;模拟登录时,对重试次数、锁定时长进行测试验证,并根据密码长度限制以及密码规则进行新密码设置和登录验证。
76.修改模块5,用于通过bmc redfish进行biso登录参数的修改。
77.修改模块5具体用于:根据修改参数项的范围通过bmc redfish进行biso登录参数的修改;修改成功后,eeprom中同步结构体的信息同步进行修改,修改的参数立即生效,并支持即时验证;对修改的biso登录参数进行验证后,根据与预期的对比结果进行优化修改;bmc会保存最后一次最终修改的biso登录参数作为与bios同步的内容,在服务器重启后生效。
78.缓存读取模块6,用于当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。
79.本实施例提供了一种bios密码及登录参数的远程预配置系统,具体技术效果如下:
80.1、无需重启服务器进入bios setup界面,即可在维持服务器正常使用时,通过redfish进行批量预设置bios密码等多项登录选项,待用户可以停止业务重启服务器时,随着服务器重启生效。
81.2、对于纳管的设备,本系统通过远程即可以完成多台机器的密码批量设置。
82.3、本系统支持通过一次操作进行单一参数或者多参数的配置及查询;
83.4、通过本系统,bmc能够随时对bios密码及登录参数进行远程模拟验证。
84.5、由于需要借助eeprom作为中间介质,用户可能进行多次读取,相对于多次直接读取eeprom对其造成的损耗及时间的浪费,本系统提出一个带有更新标志的缓存机制。
85.6、在配置参数时,本系统利用bmc借助redfish的灵活性,为用户提供更多帮助及提示信息,协助用户更快完成配置工作。
86.实施例三:
87.本实施例公开了一种bios密码及登录参数的远程预配置装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的bios密码及登录参数的远程预配置程序时实现以下步骤:
88.1、bmc与bios通过使用相同的双重sha256加密算法对密码加密。
89.2、bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步。
90.3、服务器首次开机,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区。
91.4、通过bmc redfish进行biso的模拟登录。
92.5、通过bmc redfish进行biso登录参数的修改。
93.6、当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。
94.进一步的,本实施例中的bios密码及登录参数的远程预配置装置,还可以包括:
95.输入接口,用于获取外界导入的bios密码及登录参数的远程预配置程序,并将获取到的bios密码及登录参数的远程预配置程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
96.输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与
输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于usb接口、串行接口等。
97.通讯单元,用于在bios密码及登录参数的远程预配置装置和外部服务器之间建立远程通讯连接,以便于bios密码及登录参数的远程预配置装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
98.键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
99.显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
100.鼠标,可以用于协助用户输入数据并简化用户的操作。
101.实施例四:
102.本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动硬盘、cd-rom或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有bios密码及登录参数的远程预配置程序,所述bios密码及登录参数的远程预配置程序被处理器执行时实现以下步骤:
103.1、bmc与bios通过使用相同的双重sha256加密算法对密码加密。
104.2、bmc和bios通过新增进程利用同步结构体对bios密码及登录参数进行同步。
105.3、服务器首次开机,bios将密码及登录参数初始值通过ipmi命令将信息写入eeprom,与bmc进行通信,初始化同步结构体内容,并将同步结构体内容存储在缓冲区。
106.4、通过bmc redfish进行biso的模拟登录。
107.5、通过bmc redfish进行biso登录参数的修改。
108.6、当eeprom中的同步结构体未产生修改时,如果进行参数读取操作,直接读取缓存区中存储的相应参数项。
109.综上所述,本发明通过redfish模拟各项参数生效时的现象,方便用户进行无需重启的快速参数验证,能极大的提高了用户设置验证的便捷性,避免设置后重启进入bios setup查看配置效果造成的人力损耗。
110.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
111.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
112.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
113.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
114.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
115.同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
116.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
117.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
118.以上对本发明所提供的bios密码及登录参数的远程预配置方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1