一种服务器运维方法、装置、系统及电子设备与流程

文档序号:15232808发布日期:2018-08-21 19:51阅读:143来源:国知局

本发明涉及系统服务技术领域,特别是涉及一种服务器运维方法、装置、系统及电子设备。



背景技术:

为了维持服务器的正常运行,需要定期或不定期地对服务器进行运维。现有技术中,运维机中存储有用于获取对各个服务器进行远程控制的权限的密钥,在获取到针对目标服务器进行运维的运维指令后,运维机从本地获取用于对目标服务器进行远程控制的权限的密钥,利用该密钥完成目标服务器的身份验证,以获取对目标服务器进行远程控制的权限,通过远程控制,实现针对目标服务器的运维操作。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

各个需要进行运维的服务器的密钥均存储在运维机中,为了方便运维人员通过运维机对服务器进行运维,运维机中的内容需要能够被其他设备访问,因此安全级别较低,非法用户可以相对容易地访问到运维机中的内容,并从中获取到对各个服务器进行远程控制的权限的密钥,进而利用这些密钥远程控制各个服务器,故服务器整体安全性较低。



技术实现要素:

本发明实施例的目的在于提供一种服务器运维方法,以降低在运维过程中服务器的密钥泄露的风险。具体技术方案如下:

在本发明实施例提供的第一方面,提供了一种服务器运维方法,应用于运维机,所述方法包括:

获取针对目标服务器进行运维的操作指令,所述操作指令包括所述目标服务器的标识信息;

从密钥管理器中获取与所述标识信息相匹配的身份验证信息,所述身份验证信息为所述密钥管理器利用用于获取所述目标服务器的远程控制权限的密钥生成的;

利用所述身份信息,获取对所述目标服务器进行远程控制的权限;

利用所述权限,通过与所述目标服务器之间的信息交互,针对所述目标服务器进行运维操作。

结合第一方面,在第一种可能的实现方式中,所述利用所述权限,通过与所述目标服务器之间的信息交互,针对所述目标服务器进行运维操作,包括:

将运维脚本,镜像到所述运维机上的虚拟化运维执行器中,所述运维脚本中包含有用于针对所述目标服务器进行运维操作的运维指令;

利用所述权限,通过所述虚拟化运维执行器,向所述目标服务器发送所述运维指令,用于针对所述目标服务器进行运维操作。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟化运维执行器为基于容器技术生成的虚拟化运维执行器。

结合第一方面,在第三种可能的实现方式中,所述利用所述标识信息获取身份验证信息,包括:

向密钥管理器发送包含所述标识信息和所述运维机的身份识别信息的身份验证信息获取请求;

接收所述密钥管理器返回的与所述标识信息和所述运维机的身份识别信息相匹配的身份验证信息,所述身份验证信息为所述密钥管理器利用用于获取所述目标服务器的远程控制权限的密钥生成的。

结合第一方面,在第四种可能的实现方式中,所述利用所述身份验证信息,获取对所述目标服务器进行远程控制的权限,包括:

利用所述身份验证信息,通过ssh协议认证,获取对所述目标服务器进行远程控制的权限。

在本发明实施例的第二方面,提供了一种服务器运维装置,所述装置包括:

指令接收模块,用于获取针对目标服务器进行运维的操作指令,所述操作指令包括所述目标服务器的标识信息;

验证信息获取模块,用于从密钥管理器中获取与所述标识信息相匹配的身份验证信息,所述身份验证信息为所述密钥管理器利用用于获取所述目标服务器的远程控制权限的密钥生活的;

身份验证模块,用于利用所述身份验证信息,获取对所述目标服务器进行远程控制的权限;

运维模块,用于利用所述权限,通过与所述目标服务器之间的信息交互,针对所述目标服务器进行运维操作。

结合第二方面,在第一种可能的实现方式中,所述运维模块,具体用于将运维脚本镜像到所述运维机上的虚拟化运维执行器中,所述运维脚本中包含有用于针对所述目标服务器进行运维操作的运维指令;并利用所述权限,通过所述虚拟化运维执行器,向所述目标服务器发送所述运维指令,用于针对所述目标服务器进行运维操作。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟化运维执行器为基于容器技术生成的虚拟化运维执行器。

结合第二方面,在第三种可能的实现方式中,所述验证信息获取模块,具体用于向密钥管理器发送包含所述标识信息和所诉运维机的身份识别信息的身份验证信息获取请求;并接受所述密钥管理器返回的与所述标识信息和所述运维机的身份识别信息相匹配的身份验证信息,所述身份验证信息为所述密钥管理器利用用于获取所述目标服务器的远程控制权限的密钥生成的。

结合第二方面,在第四种可能的实现方式中,所述身份验证模块,具体用于利用所述身份验证信息,通过ssh协议认证,获取对所述目标服务器进行远程控制的权限。

在本发明实施例的第三方面,提供了一种服务器运维系统,所述系统包括:

上述任一所述的服务器运维装置;

密钥管理器,所述密钥管理中保存有用于获取目标服务器的远程控制权限的密钥;

管理平台,用于通过所述服务器运维装置,针对所述目标服务器进行运维操作。

在本发明实施例的第四方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的服务器运维方法。

在本发明实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的服务器运维方法。

在本发明实施例的第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务器运维方法。

本发明实施例提供的服务器运维方法、装置、系统及电子设备,可以利用密钥管理器将运维机与用于获取各个服务器的远程控制权限的密钥隔离开来,在运维过程中运维机不获取任何服务器的密钥,降低了该密钥在运维过程中泄露的风险,有效地提高了服务器整体的安全性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的服务器运维方法的一种流程示意图;

图2为本发明实施例提供的服务器运维方法的另一种流程示意图;

图3为本发明实施例提供的服务器运维方法的另一种流程示意图;

图4为本发明实施例提供的服务器运维方法的另一种流程示意图;

图5为本发明实施例提供的服务器运维装置的一种结构示意图;

图6为本发明实施例提供的服务器运维系统的一种结构示意图;

图7为本发明实施例提供的服务器运维电子设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

参见图1,图1所示为本发明实施例提供的服务器运维方法的一种流程示意图,可以包括以下步骤:

s110,获取针对目标服务器进行运维的操作指令,操作指令包括目标服务器的标识信息。

具体的,可以是获取管理平台发送的针对目标服务器进行运维的操作指令。其中,目标服务器的标识信息可以是由用户输入的目标服务器的标号,也可以是当前正在使用管理平台的运维人员的用户信息。可以理解的是,根据实际需求,可以安排不同的运维人员负责对不同的服务器进行运维,在这种情况下,每个运维人员对应于该运维人员负责的一个或多个服务器,因此运维人员的用户信息可以作为这一个或多个服务器的标识信息,进一步的,运维人员的用户信息可以包括运维人员登录管理平台时所使用的账号。

s120,从密钥管理器中获取与标识信息相匹配的身份验证信息,身份验证信息为密钥管理器利用用于获取目标服务器的远程控制权限的密钥生成的。

其中,密钥管理器中存储有用于获取各个服务器的远程控制权限的密钥,每个密钥只能用于获取一个服务器的远程控制权限,并且与该服务器的标识信息相匹配。可以理解的是,出于安全考虑,这些密钥是各不相同的,并且密钥管理器只允许运维机从中获取与标识信息相匹配的身份验证信息,即运维机无法从密钥管理中获取与标识信息不相匹配的身份验证信息。

具体的,在本实施例中,可以是运维机将获取到的标识信息发送至预设的密钥管理器,密钥管理器在本地的密钥库中检索与该标识信息相匹配的密钥,并利用检索到的密钥生成身份验证信息,将生成的身份验证信息发送至运维机。可以理解的是,在这种情况下,即使非法用户从运维机中获取到了身份验证信息,由于运维机获取的是与标识信息相匹配的身份验证信息,因此非法用户也只能利用这些身份验证信息进一步获取到标识信息所表示的目标服务器的远程控制权限,无法获取到其他服务器的远程控制权限,即其他服务器仍然是安全的。

示例性的,假设标识信息为运维人员登录管理平台时所使用的账号,可以是运维机将获取到的账号发送至预设的密钥管理器,密钥管理器访问本地的密钥库中与该账号对应的文件夹,并获取该文件夹中所保存的密钥,作为与该账号匹配的密钥,并利用该文件夹中所保存的密钥生成身份验证信息,将生成的身份验证信息发送至运维机。

s130,利用身份验证信息,获取对目标服务器进行远程控制的权限。

在本实施例中,可以是获取对目标服务器中所有内容进行远程控制的权限,也可以是获取对目标服务器中部分内容进行远程控制的权限。示例性的,只获取对目标服务器中和服务器运维相关的内容进行远程控制的权限。

s140,利用该权限,通过与目标服务器之间的信息交互,针对目标服务器进行运维操作。

具体的,可以是将用户输入的用于运维操作的运维指令发送至目标服务器,目标服务器在接收到这些运维指令后,执行这些运维指令,以实现针对目标服务器的运维。

可以理解的是,利用密钥管理器将运维机与用于获取各个服务器的远程控制权限的密钥隔离开来,在运维过程中运维机不获取任何服务器的密钥,即使非法用户访问到运维机的内容,也无法从运维机中获取到任何服务器的密钥,进一步的,即使非法用户通过访问运维机的内容,盗用了密钥管理器生成的身份验证信息,也只能短期地获取到对目标服务器进行远程控制的权限,并且其他服务器仍然是安全的。因此选用本实施例,可以有效地提高服务器整体的安全性。

可以理解的是,密钥管理器可以只允许单项地从其他设备中获取密钥并保存,不允许其他设备访问密钥管理器中的内容。而运维机如果不允许其他设备访问其中的内容,则运维人员无法通过管理平台远程对运维机进行控制,给服务器的运维工作带来很大的麻烦。

在一种可选的实施例中,如图2所示,s140可以具体包括以下步骤:

s141,将运维脚本,镜像到运维机上的虚拟化运维执行器中。

其中,运维脚本中包含有用于针对目标服务器进行运维操作的运维指令。示例性的,可以包括删除指定时间段内产生的缓存文件,将指定的源文件夹内的文件移动至指定的目标文件夹内。本实施例中,运维脚本可以是相关运维人员在管理平台的一台计算机中编辑完成后,发送至运维机的,也可以是在运维机上编辑完成后,直接保存在本地的。虚拟化运维执行器,在本实施例中,可以是虚拟机。

在一种可选的实施例中,虚拟化运维执行器可以是基于容器技术生成的虚拟化运维执行器。本实施例中,可以使用docker运维容器。可以理解的是,虚拟机的虚拟化层是构建于系统硬件之上的,在使用前需要构建一个系统,而容器的容器层是直接构建于系统内核之上的,因此选用基于容器技术生成的虚拟化运维执行器,可以加快虚拟化执行器的启动速度,减少虚拟化运维执行器的资源占用。

s142,利用对目标服务器进行远程控制的权限,通过虚拟化运维执行器,向目标服务器发送运维指令,用于针对目标服务器进行运维操作。

具体的,本实施例中,可以是虚拟化运维执行器读取运维脚本中的运维指令,将读取到的运维指令发送至目标服务器,利用对目标服务器进行远程控制的权限,使得目标服务器执行接收到的运维指令,以实现针对目标服务器进行运维操作。

选用该实施例,可以通过虚拟化运维执行器来对目标服务器进行运维,使得运维脚本工作于一个与运维机相对隔绝的环境中,降低了运维机中的潜在的病毒对运维工作造成影响的几率,提高了运维工作的安全性。

在一种可选的实施例中,如图3所示,s120可以具体包括:

s121,向密钥管理器发送包含标识信息和运维机的身份识别信息的身份验证信息获取请求。

其中,运维机的身份识别信息可以是运维机和目标服务器,通过预设的协议约定的一个用于使得目标服务器能够识别运维机身份的字符串,示例性的,可以是运维机的公钥。

s122,接收密钥管理器返回的与所述标识信息和所述运维机的身份识别信息相匹配的身份验证信息,所述身份验证信息为密钥管理器利用用于获取目标服务器的远程控制权限的密钥生成的。

在本实施例中,身份验证信息具体可以是按照以下方法生成的:密钥管理器在本地的密钥库中检索与标识信息相匹配的密钥,作为用于获取目标服务器的远程控制权限的密钥,并利用该密钥加密运维机的身份识别信息,以生成身份验证信息。

选用该实施例,身份验证信息中包含有运维机的身份识别信息,使得身份验证信息中能够用于确定授权对象的信息更加丰富,降低了其他设备伪造身份验证信息来获取对目标服务器进行远程控制的成功率,提高了服务器的安全性。

在一种可选的实施例中,如图4所示,s130可以具体包括:

s131,通过ssh协议认证,获取对目标服务器进行远程控制的权限。

具体的,用于获取目标服务器的远程控制权限的密钥可以是运维机的私钥,在这种情况下,身份验证信息可以是利用运维机的私钥加密运维机的公钥生成的一个数字签名,将该数字签名发送至服务器,服务器用运维机的公钥解密该数字签名,得到一个解密字符串,将该解密字符串与运维机的公钥进行比较,如果两者一致,则认证通过,运维机获取对目标服务器进行远程控制的权限,如果两者不一致,则认证不通过。

可以理解的是,上述运维机的私钥和运维机的公钥是一对非对称密钥,由其中任一密钥加密的信息可以由另一密钥进行解密,但是在已知一个密钥的情况下难以推算出另外一个密钥。选用该实施例,由于在身份验证过程中同时使用了一对密钥,降低了其他冒充运维机来获取权限的设备通过验证的概率,保证了服务器的安全性。

参见图5,图5所示为本发明实施例提供的服务器运维装置的一种结构示意图,可以包括:

指令接收模块501,用于获取针对目标服务器进行运维的操作指令;

验证信息获取模块502,用于从密钥管理器中获取与标识信息相匹配的身份验证信息,身份验证信息为密钥管理器利用用于获取目标服务器的远程控制权限的密钥生成的;

身份验证模块503,用于利用身份验证信息,获取对目标服务器进行远程控制的权限;

运维模块504,用于利用权限,通过与目标服务器之间的信息交互,针对目标服务器进行运维操作。

在一种可选的实施例中,运维模块504,可以具体用于将运维脚本镜像到运维机上的虚拟化运维执行器中,运维脚本中包含有用于针对目标服务器进行运维操作的运维指令;并利用权限,通过虚拟化运维执行器,向目标服务器发送运维指令,用于针对目标服务器进行运维操作。

进一步的,虚拟化运维执行器可以为基于容器技术生成的虚拟化运维执行器。

在一种可选的实施例中,验证信息获取模块502,可以具体用于向密钥管理器发送包含所诉运维机的身份识别信息的身份验证信息获取请求;并接受密钥管理器返回的根据运维机的身份识别信息和用于获取目标服务器的远程控制权限的密钥生成的身份验证信息。

在一种可选的实施例中,身份验证模块503,可以具体用于利用身份验证信息,通过ssh协议认证,获取对目标服务器进行远程控制的权限。

参见图6,图6所示为本发明实施例提供的服务器运维系统的一种结构示意图,可以包括:

服务器运维装置601,可以具备上述任一服务器运维装置的技术特征;

密钥管理器602,密钥管理中保存有用于获取目标服务器的远程控制权限的密钥;

管理平台603,用于通过服务器运维装置,针对目标服务器进行运维操作。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:

获取针对目标服务器进行运维的操作指令,操作指令中包括目标服务器的标识信息;

从密钥管理器中获取与标识信息相匹配的身份验证信息,身份验证信息为密钥管理器利用用于获取目标服务器的远程控制权限的密钥生成的;

利用身份信息,获取对目标服务器进行远程控制的权限;

利用权限,通过与目标服务器之间的信息交互,针对目标服务器进行运维操作。

在一种可选的实施例中,利用权限,通过与目标服务器之间的信息交互,针对目标服务器进行运维操作,可以包括:

获取针对目标服务器进行运维的操作指令;

将运维脚本,镜像到运维机上的虚拟化运维执行器中,运维脚本中包含有用于针对目标服务器进行运维运维指令;

利用权限,通过虚拟化运维执行器,向目标服务器发送运维指令,用于针对目标服务器进行运维操作。

进一步的,虚拟化运维执行器可以为基于容器技术生成的虚拟化运维执行器。

在一种可选的实施例中,从密钥管理器中获取与标识信息相匹配的身份验证信息,可以包括:

向密钥管理器发送包含标识信息和运维机的身份识别信息的身份验证信息获取请求;

接收密钥管理器返回的与标识信息和运维机的身份识别信息相匹配的身份验证信息,身份验证信息为密钥管理器利用用于获取目标服务器的远程控制权限的密钥生成的。

在一种可选的实施例中,利用身份验证信息,获取对目标服务器进行远程控制的权限,可以包括:

利用身份验证信息,通过ssh协议认证,获取对目标服务器进行远程控制的权限。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一服务器运维方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一服务器运维方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备、计算机可读存储介质、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1