一种针对远程主机的访问方法及装置转让专利

申请号 : CN202111430420.X

文献号 : CN114090981B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈交交伦秉力

申请人 : 深圳前海微众银行股份有限公司

摘要 :

本发明实施例提供一种针对远程主机的访问方法及装置。该方法包括:后端服务器接收前端应用发送的连接建立请求;连接建立请求用于请求建立前端应用至目标远程主机的访问链路;后端服务器向调度系统发送公钥添加请求;公钥添加请求中包括后端服务器为连接建立请求分配的公钥;公钥添加请求用于指示调度系统将公钥发送至目标远程主机;公钥为后端服务器随机生成;后端服务器基于公钥对应的私钥,与目标远程主机建立连接。公钥不会永久地保存在目标远程主机中,目标远程主机和后端服务器不会建立永久的信用关系,保证了访问的安全性。用户也无需提供目标远程主机的账号,无需提前在目标远程主机中配置公钥,提前在后端服务器中配置私钥,节省了人力。

权利要求 :

1.一种针对远程主机的访问方法,其特征在于,包括:

后端服务器接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路;

所述后端服务器向调度系统发送公钥添加请求;所述公钥添加请求中包括所述后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成;

所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立连接。

2.如权利要求1所述的方法,其特征在于,所述连接建立请求中包括访问用户的标识及目标远程主机的标识;

在所述后端服务器向调度系统发送公钥添加请求之前,还包括:

所述后端服务器基于所述访问用户的标识及所述目标远程主机的标识,确定所述访问用户具有访问所述目标远程主机的权限。

3.如权利要求2所述的方法,其特征在于,所述后端服务器在确定所述访问用户具有访问所述目标远程主机的权限之后,还包括:所述后端服务器与所述前端应用建立基于传输控制协议TCP的网络连接;

所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立连接,包括:所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立基于安全壳协议SSH的网络连接。

4.如权利要求2所述的方法,其特征在于,与所述目标远程主机建立连接之后,还包括:所述后端服务器接收所述前端应用发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;

所述后端服务器向所述调度系统发送公钥删除请求;所述公钥删除请求用于指示所述调度系统将所述目标远程主机中所述访问用户对应的公钥删除;

所述后端服务器断开与所述目标远程主机的连接。

5.如权利要求1所述的方法,其特征在于,与所述目标远程主机建立连接之后,还包括:所述后端服务器接收所述前端应用发送的处理命令;

所述后端服务器确定所述处理命令是否为高危操作,若否,则将所述处理命令发送至所述目标远程主机;

所述后端服务器接收所述目标远程主机对所述处理命令的处理结果,并将所述处理结果发送至所述前端应用。

6.如权利要求5所述的方法,其特征在于,还包括:

所述后端服务器记录所述前端应用与所述目标远程主机之间的各交互数据。

7.一种针对远程主机的访问方法,其特征在于,包括:

调度系统基于应用服务端接收后端服务器发送的公钥添加请求,对所述公钥添加请求进行权限验证,在验证通过后生成所述公钥添加请求对应的第一待执行任务,并将所述第一待执行任务存储至所述调度系统的消息队列中;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;

所述调度系统基于至少一个工作端从所述消息队列获取所述第一待执行任务,并生成所述第一待执行任务的添加命令,将所述添加命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述添加命令。

8.如权利要求7所述的方法,其特征在于,还包括:

所述调度系统基于所述应用服务端接收所述后端服务器发送的公钥删除请求,对所述公钥删除请求进行权限验证,在验证通过后生成所述公钥删除请求对应的第二待执行任务,并将所述第二待执行任务存储至所述调度系统的消息队列中;

所述调度系统基于至少一个工作端从所述消息队列获取所述第二待执行任务,并生成所述第二待执行任务的删除命令,将所述删除命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述删除命令。

9.一种针对远程主机的访问方法,其特征在于,包括:

目标远程主机的代理端接收调度系统发送的添加命令,将所述添加命令中包含的公钥添加至所述目标远程主机;所述添加命令为所述调度系统基于后端服务器发送的公钥添加请求生成的;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;

所述目标远程主机基于所述公钥,与所述后端服务器建立连接。

10.如权利要求9所述的方法,其特征在于,还包括:

所述目标远程主机接收所述后端服务器发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;

所述目标远程主机的代理端接收所述调度系统发送的删除命令,在所述目标远程主机删除所述公钥;所述删除命令为所述调度系统基于后端服务器发送的公钥删除请求生成的;所述公钥删除请求为所述后端服务器基于所述连接断开请求生成的,所述连接断开请求用于请求断开所述访问用户对应的前端应用至所述目标远程主机的访问链路;

所述目标远程主机断开与所述后端服务器的连接。

11.一种针对远程主机的访问装置,其特征在于,包括:

第一接收单元,用于接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路;

第一发送单元,用于向调度系统发送公钥添加请求;所述公钥添加请求中包括后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成;

第一连接单元,用于基于所述公钥对应的私钥,与所述目标远程主机建立连接。

12.一种针对远程主机的访问装置,其特征在于,包括:

第二接收单元,用于:基于应用服务端接收后端服务器发送的公钥添加请求,对所述公钥添加请求进行权限验证,在验证通过后生成所述公钥添加请求对应的第一待执行任务,并将所述第一待执行任务存储至调度系统的消息队列中;所述公钥添加请求中包括后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;

第二发送单元,用于基于至少一个工作端从所述消息队列获取所述第一待执行任务,并生成所述第一待执行任务的添加命令,将所述添加命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述添加命令。

13.一种针对远程主机的访问装置,其特征在于,包括:

第三接收单元,用于:接收调度系统发送的添加命令,将所述添加命令中包含的公钥添加至目标远程主机;所述添加命令为所述调度系统基于后端服务器发送的公钥添加请求生成的;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;

第二连接单元,用于:基于所述公钥,与所述后端服务器建立连接。

14.一种计算设备,其特征在于,包括:

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

处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行权利要求1至

10任一项所述的方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行权利要求1至10任一项所述的方法。

说明书 :

一种针对远程主机的访问方法及装置

技术领域

[0001] 本发明实施例涉及计算机应用技术领域,尤其涉及一种针对远程主机的访问方法及装置。

背景技术

[0002] 随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003] 图1示出了一种可能的用户通过前端应用访问目标远程主机的系统架构。用户在前端应用的页面上输入用户认证信息、用户想要连接的目标远程主机的标识以及该目标远程主机的账号,前端应用携带上述信息向后端服务器发送连接建立请求,后端服务器接收到连接建立请求后,与前端应用建立连接;后端服务器还会将目标远程主机的账号通过连接建立请求发送至目标远程主机,目标远程主机验证通过后,与后端服务器建立连接,如此前端应用‑后端服务器‑目标远程主机建立连接,那么后续,用户就可通过前端应用访问目标远程主机,使目标远程主机执行相应的操作。
[0004] 但是上述方法需要用户每次操作前端应用时,提供目标远程主机的账号,否则后端服务器和目标远程主机之间无法建立信任关系。但是用户掌握了目标远程主机的账号,会对整个终端的运行造成很大的安全隐患,所以一般生产环境中目标远程主机的账号不会轻易提供给用户。
[0005] 另一种常用的方法是,用户提前在目标远程主机中设置公钥,在后端服务器中设置与公钥相对应的私钥。那么用户只需在前端应用的界面上输入用户认证信息、用户想要连接的目标远程主机的标识。之后前端应用携带上述信息向后端服务器发送连接建立请求,后端服务器接收到连接建立请求后,与前端应用建立长连接;后端服务器之后会将连接建立请求用私钥加密后发送至目标远程主机,目标远程主机用公钥解密后即可确立后端服务器和目标远程主机之间的信任关系,与后端服务器建立连接。
[0006] 但是上述方法中,用户提前将公钥和私钥分别设置在目标远程主机和后端服务器中,这本身就是个十分耗费人力的工程;其次,为了节省人力,公钥和私钥不会经常更换,那么就会导致后端服务器和目标远程主机一直建立长久的信用关系,这对终端的安全性同样造成很大的威胁。
[0007] 因此本发明实施例提供一种针对远程主机的访问方法,用以提高访问远程主机的安全性,节省人力。

发明内容

[0008] 本发明实施例提供一种针对远程主机的访问方法,用以提高访问远程主机的安全性,节省人力。
[0009] 第一方面,本发明实施例提供一种针对远程主机的访问方法,包括:
[0010] 后端服务器接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路;
[0011] 所述后端服务器向调度系统发送公钥添加请求;所述公钥添加请求中包括所述后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成;
[0012] 所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立连接。
[0013] 本发明实施例引入了调度系统,该调度系统可以接收后端服务器的公钥添加请求,根据公钥添加请求生成添加命令发送至目标远程主机。那么,目标远程主机具有了公钥,就可以通过公钥接收后端服务器的连接建立请求,与后端服务器建立连接。公钥是后端服务器根据接收到的前端应用的连接建立请求随机生成,每次的连接建立请求生成的公钥不同,发送至目标远程主机的公钥不同。如此,公钥不会永久地保存在目标远程主机中,目标远程主机和后端服务器不会建立永久的信用关系,保证了访问的安全性。用户也无需提供目标远程主机的账号,无需提前在目标远程主机中配置公钥,提前在后端服务器中配置私钥,节省了人力的同时,保障了访问的安全性。
[0014] 可选地,所述连接建立请求中包括访问用户的标识及目标远程主机的标识;
[0015] 在所述后端服务器向调度系统发送公钥添加请求之前,还包括:
[0016] 所述后端服务器基于所述访问用户的标识及所述目标远程主机的标识,确定所述访问用户具有访问所述目标远程主机的权限。
[0017] 在确定该访问用户具有访问权限后才会进行后续的操作,保证了整个访问过程的安全性。
[0018] 可选地,所述后端服务器在确定所述访问用户具有访问所述目标远程主机的权限之后,还包括:
[0019] 所述后端服务器与所述前端应用建立基于传输控制协议TCP的网络连接;
[0020] 所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立连接,包括:
[0021] 所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立基于安全壳协议SSH的网络连接。
[0022] 后端服务器和前端应用建立基于TCP的网络连接,二者之间建立长连接方便后续处理任务和/或处理命令的传输,提高处理效率。在后端服务器将公钥通过调度系统下发至目标远程主机后,目标远程主机可以基于公钥接收后端服务器基于私钥发送的连接建立请求,从而与后端服务器建立长连接,因此后端服务器和目标远程主机之间的连接是动态建立的,提高了访问的安全性。此外,在后端服务器和目标远程主机之间建立基于SSH的网络连接,二者之间建立长连接方便后续后端服务器将前端应用发送的处理任务和/或处理命令传输至目标远程主机,提高处理效率。
[0023] 可选地,与所述目标远程主机建立连接之后,还包括:
[0024] 所述后端服务器接收所述前端应用发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0025] 所述后端服务器向所述调度系统发送公钥删除请求;所述公钥删除请求用于指示所述调度系统将所述目标远程主机中所述访问用户对应的公钥删除;
[0026] 所述后端服务器断开与所述目标远程主机的连接。
[0027] 当后端服务器接收到连接断开请求后,通过调度系统指示目标远程主机将公钥删除,从而解除了目标远程主机与后端服务器之间的长久的信用关系。过程操作简单,智能化进行,提高了安全性。
[0028] 与所述目标远程主机建立连接之后,还包括:
[0029] 所述后端服务器接收所述前端应用发送的处理命令;
[0030] 所述后端服务器确定所述处理命令是否为高危操作,若否,则将所述处理命令发送至所述目标远程主机;
[0031] 所述后端服务器接收所述目标远程主机对所述处理命令的处理结果,并将所述处理结果发送至所述前端应用。
[0032] 拒绝了高危操作,进一步提高了访问远程主机的安全性。
[0033] 可选地,还包括:
[0034] 所述后端服务器记录所述前端应用与所述目标远程主机之间的各交互数据。
[0035] 对操作进行记录,可以供日后问题排查和审计使用。
[0036] 第二方面,本发明实施例还提供一种针对远程主机的访问方法,包括:
[0037] 调度系统基于应用服务端接收后端服务器发送的公钥添加请求,对所述公钥添加请求进行权限验证,在验证通过后生成所述公钥添加请求对应的第一待执行任务,并将所述第一待执行任务存储至所述调度系统的消息队列中;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0038] 所述调度系统基于至少一个工作端从所述消息队列获取所述第一待执行任务,并生成所述第一待执行任务的添加命令,将所述添加命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述添加命令。
[0039] 采用分布式远程命令执行系统作为调度系统,该调度系统可以接收后端服务器的公钥添加请求,根据公钥添加请求生成添加命令发送至目标远程主机。那么,目标远程主机具有了公钥,就可以通过公钥接收后端服务器的连接建立请求,与后端服务器建立连接。公钥是后端服务器根据接收到的前端应用的连接建立请求随机生成,每次的连接建立请求生成的公钥不同,发送至目标远程主机的公钥不同。如此,公钥不会永久地保存在目标远程主机中,目标远程主机和后端服务器不会建立永久的信用关系,保证了访问的安全性。用户也无需提供目标远程主机的账号,无需提前在目标远程主机中配置公钥,提前在后端服务器中配置私钥,节省了人力的同时,保障了访问的安全性。此外,分布式的远程命令执行系统的应用服务端可以基于公钥添加请求,生成第一待执行任务,至少一个工作端可以基于第一待执行任务生成添加命令发送至目标远程主机,因此当待执行任务的任务量很大时,分布式的远程命令执行系统可以提高处理的速度。
[0040] 可选地,还包括:
[0041] 所述调度系统基于所述应用服务端接收所述后端服务器发送的公钥删除请求,对所述公钥删除请求进行权限验证,在验证通过后生成所述公钥删除请求对应的第二待执行任务,并将所述第二待执行任务存储至所述调度系统的消息队列中;
[0042] 所述调度系统基于至少一个工作端从所述消息队列获取所述第二待执行任务,并生成所述第二待执行任务的删除命令,将所述删除命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述删除命令。
[0043] 当调度系统接收到公钥删除请求后,指示目标远程主机将公钥删除,从而解除了目标远程主机与后端服务器之间的长久的信用关系。过程操作简单,智能化进行,提高了安全性。
[0044] 第三方面,本发明实施例还提供一种针对远程主机的访问方法,包括:
[0045] 目标远程主机的代理端接收调度系统发送的添加命令,将所述添加命令中包含的公钥添加至所述目标远程主机;所述添加命令为所述调度系统基于后端服务器发送的公钥添加请求生成的;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0046] 所述目标远程主机基于所述公钥,与所述后端服务器建立连接。
[0047] 引入了调度系统,该调度系统可以接收后端服务器的公钥添加请求,根据公钥添加请求生成添加命令发送至目标远程主机。那么,目标远程主机具有了公钥,就可以通过公钥接收后端服务器的连接建立请求,与后端服务器建立连接。公钥是后端服务器根据接收到的前端应用的连接建立请求随机生成,每次的连接建立请求生成的公钥不同,发送至目标远程主机的公钥不同。如此,公钥不会永久地保存在目标远程主机中,目标远程主机和后端服务器不会建立永久的信用关系,保证了访问的安全性。用户也无需提供目标远程主机的账号,无需提前在目标远程主机中配置公钥,提前在后端服务器中配置私钥,节省了人力的同时,保障了访问的安全性。
[0048] 可选地,还包括:
[0049] 所述目标远程主机接收所述后端服务器发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0050] 所述目标远程主机的代理端接收所述调度系统发送的删除命令,在所述目标远程主机删除所述公钥;所述删除命令为所述调度系统基于后端服务器发送的公钥删除请求生成的;所述公钥删除请求为所述后端服务器基于所述连接断开请求生成的,所述连接断开请求用于请求断开所述访问用户对应的前端应用至所述目标远程主机的访问链路;
[0051] 所述目标远程主机断开与所述后端服务器的连接。
[0052] 当目标远程主机接收到调度系统的删除命令后,将公钥删除,从而解除了目标远程主机与后端服务器之间的长久的信用关系。过程操作简单,智能化进行,提高了安全性。
[0053] 第四方面,本发明实施例还提供一种针对远程主机的访问装置,包括:
[0054] 第一接收单元,用于接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路;
[0055] 第一发送单元,用于向调度系统发送公钥添加请求;所述公钥添加请求中包括所述后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成;
[0056] 第一连接单元,用于基于所述公钥对应的私钥,与所述目标远程主机建立连接。
[0057] 可选地,所述连接建立请求中包括访问用户的标识及目标远程主机的标识;所述装置还包括:
[0058] 第一处理单元,用于基于所述访问用户的标识及所述目标远程主机的标识,确定所述访问用户具有访问所述目标远程主机的权限。
[0059] 可选地,所述第一连接单元还用于:
[0060] 与所述前端应用建立基于传输控制协议TCP的网络连接;
[0061] 所述第一连接单元,具体用于:
[0062] 基于所述公钥对应的私钥,与所述目标远程主机建立基于安全壳协议SSH的网络连接。
[0063] 所述第一接收单元,还用于:
[0064] 接收所述前端应用发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0065] 所述第一发送单元,还用于:
[0066] 向所述调度系统发送公钥删除请求;所述公钥删除请求用于指示所述调度系统将所述目标远程主机中所述访问用户对应的公钥删除;
[0067] 所述第一连接单元,还用于:
[0068] 断开与所述目标远程主机的连接。
[0069] 所述第一接收单元还用于:
[0070] 接收所述前端应用发送的处理命令;
[0071] 所述第一处理单元还用于:确定所述处理命令是否为高危操作,若否,则将所述处理命令发送至所述目标远程主机;
[0072] 所述第一接收单元还用于:接收所述目标远程主机对所述处理命令的处理结果,并将所述处理结果发送至所述前端应用。
[0073] 可选地,所述第一处理单元还用于:
[0074] 记录所述前端应用与所述目标远程主机之间的各交互数据。
[0075] 第五方面,本发明实施例还提供一种针对远程主机的访问装置,包括:
[0076] 第二接收单元,用于:基于应用服务端接收后端服务器发送的公钥添加请求,对所述公钥添加请求进行权限验证,在验证通过后生成所述公钥添加请求对应的第一待执行任务,并将所述第一待执行任务存储至所述调度系统的消息队列中;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0077] 第二发送单元,用于基于至少一个工作端从所述消息队列获取所述第一待执行任务,并生成所述第一待执行任务的添加命令,将所述添加命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述添加命令。
[0078] 可选地,所述第二接收单元还用于:基于所述应用服务端接收所述后端服务器发送的公钥删除请求,对所述公钥删除请求进行权限验证,在验证通过后生成所述公钥删除请求对应的第二待执行任务,并将所述第二待执行任务存储至所述调度系统的消息队列中;
[0079] 所述第二发送单元还用于:基于至少一个工作端从所述消息队列获取所述第二待执行任务,并生成所述第二待执行任务的删除命令,将所述删除命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述删除命令。
[0080] 第六方面,本发明实施例还提供一种针对远程主机的访问装置,包括:
[0081] 第三接收单元,用于:接收调度系统发送的添加命令,将所述添加命令中包含的公钥添加至所述目标远程主机;所述添加命令为所述调度系统基于后端服务器发送的公钥添加请求生成的;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为所述前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0082] 第二连接单元,用于:基于所述公钥,与所述后端服务器建立连接。
[0083] 可选地,所述第三接收单元,还用于:接收所述后端服务器发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0084] 接收所述调度系统发送的删除命令,在所述目标远程主机删除所述公钥;所述删除命令为所述调度系统基于后端服务器发送的公钥删除请求生成的;所述公钥删除请求为所述后端服务器基于所述连接断开请求生成的,所述连接断开请求用于请求断开所述访问用户对应的前端应用至所述目标远程主机的访问链路;
[0085] 所述第二连接单元,还用于:断开与所述后端服务器的连接。
[0086] 第七方面,本发明实施例还提供一种计算设备,包括:
[0087] 存储器,用于存储计算机程序;
[0088] 处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述任一方式所列的针对远程主机的访问方法。
[0089] 第八方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述任一方式所列的针对远程主机的访问方法。

附图说明

[0090] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0091] 图1为本发明实施例提供的一种系统架构的示意图;
[0092] 图2为本发明实施例提供的一种系统架构的示意图;
[0093] 图3A为本发明实施例提供的一种可能的访问远程主机的方法的流程示意图;
[0094] 图3B为本发明实施例提供的一种可能的前端应用的输入界面的示意图;
[0095] 图4为本发明实施例提供的一种可能的调度系统的结构的示意图;
[0096] 图5为本发明实施例提供的一种可能的后端服务器的结构的示意图;
[0097] 图6为本发明实施例提供的一种可能的断开连接的方法流程示意图;
[0098] 图7为本发明实施例提供的一种针对远程主机的访问装置的结构示意图;
[0099] 图8为本发明实施例提供的一种针对远程主机的访问装置的结构示意图;
[0100] 图9为本发明实施例提供的一种针对远程主机的访问装置的结构示意图;
[0101] 图10为本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

[0102] 为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
[0103] 基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
[0104] 需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
[0105] 本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
[0106] 此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
[0107] 图2示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以包括前端应用100、后端服务器200、调度系统300、多个远程主机(如图2中示出的远程主机400、远程主机500和远程主机600)。
[0108] 基于上述架构,本发明实施例提供一种可能的访问远程主机的方法。如图3A所示,包括:
[0109] 步骤301,后端服务器接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路。
[0110] 步骤302,所述后端服务器向调度系统发送公钥添加请求;所述公钥添加请求中包括所述后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成。
[0111] 步骤303,所述后端服务器基于所述公钥对应的私钥,与所述目标远程主机建立连接。
[0112] 当用户需要访问某一台目标远程主机时,在前端应用中输入连接信息,例如包括访问用户的标识和目标远程主机的标识等等,图3B中示出了一种可能的前端应用的输入界面,用户可以输入用户的用户名和密码,以及目标远程主机的标识。例如用户想要连接的目标远程主机是远程主机400。点击确定。
[0113] 前端应用接收访问用户输入的连接信息,例如可以包括访问用户的标识、目标远程主机的标识等等。基于连接信息,前端应用100向后端服务器200发送连接建立请求。
[0114] 后端服务器200接收前端应用100发送的连接建立请求,与前端应用200建立连接。后端服务器200对应随机生成公钥和私钥,向调度系统300发送公钥添加请求,该公钥添加请求中包含公钥、访问用户的标识以及对应的目标远程主机的标识。后端服务器200用私钥对连接建立请求加密后,根据目标远程主机的标识向目标远程主机400发送连接建立请求。
本发明实施例对发送公钥添加请求和发送连接建立请求的顺序不作限制。例如可以先发送公钥添加请求、后发送连接建立请求;或者先发送连接建立请求,后发送公钥添加请求;或者同时发送连接建立请求和公钥添加请求。
[0115] 调度系统300接收后端服务器200的公钥添加请求,根据公钥添加请求对应生成添加命令,该添加命令中包含公钥以及目标远程主机的标识。调度系统300根据目标远程主机的标识将添加命令发送至目标远程主机400。
[0116] 目标远程主机400接收到调度系统300发送的添加命令,运行该添加命令,将添加命令中包含的公钥添加至目标远程主机400。当接收到来自后端服务器的用私钥加密的连接建立请求后,目标远程主机400用公钥解密,与后端服务器建立连接。
[0117] 至此,前端应用‑后端服务器‑目标远程主机之间的通信链路得以建立,后续前端应用就可以访问目标远程主机,使目标远程主机执行相关的任务。
[0118] 可以看出,本发明实施例引入了调度系统,该调度系统可以接收后端服务器的公钥添加请求,根据公钥添加请求生成添加命令发送至目标远程主机。那么,目标远程主机具有了公钥,就可以通过公钥接收后端服务器的连接建立请求,与后端服务器建立连接。公钥是后端服务器根据接收到的前端应用的连接建立请求随机生成,每次的连接建立请求生成的公钥不同,发送至目标远程主机的公钥不同。如此,公钥不会永久地保存在目标远程主机中,目标远程主机和后端服务器不会建立永久的信用关系,保证了访问的安全性。用户也无需提供目标远程主机的账号,无需提前在目标远程主机中配置公钥,提前在后端服务器中配置私钥,节省了人力的同时,保障了访问的安全性。
[0119] 具体地,本发明实施例提供的调度系统可以是基于各种开源框架的调度系统,例如,基于分布式的远程执行系统saltstack开发的JobServer、自动化运维工具如ansible、puppet等,或者可以根据本领域技术人员的需要开发一个类似于JobServer的模块来代替它,本发明实施例对此不作限制。
[0120] 图4示出了一种可能的调度系统的结构示意图。以JobServer为例,介绍JobServer如何执行上述调度系统的工作流程。如图4所示,调度系统包括应用服务端和一个或多个工作端。应用服务端提供作业执行相关接口的web服务,基于django,djangorestframework开发,它并不负责执行作业,而是将作业生成待执行任务后通过消息队列交给工作端来执行。应用服务端包括访问权限控制模块、任务生成模块、任务发布模块。
[0121] 工作端提供任务执行功能,基于python开发,它负责从消息队列中获取待执行任务,生成salt命令后提交给主工作端salt‑master执行。任一个工作端包括任务解析模块、任务执行模块和主工作端salt‑master。
[0122] 调度系统的应用服务端接收后端服务器发送的公钥添加请求,公钥添加请求中包含公钥、访问用户的标识和目标远程主机的标识,访问权限控制模块通过JWT方式对访问用户的标识进行验证,验证该访问用户有没有权限调用调度系统的接口。验证通过后调度系统才会接受公钥添加请求。由于JobServer基本能下发命令到所有的远程主机上,是一个高风险服务,因此访问权限控制十分必要。
[0123] 接收公钥添加请求后,任务生成模块根据该公钥添加请求生成对应的第一待执行任务,第一待执行任务是工作端能够处理的任务。在本例中,第一待执行任务中包含公钥和目标远程主机的标识。第一待执行任务可以为一个或多个。
[0124] 任务发布模块将第一待执行任务发布至消息队列中。
[0125] 至少一个工作端从消息队列中获取第一待执行任务,任务解析模块生成该第一待执行任务的添加命令,任务执行模块将该添加命令提交给主工作端。
[0126] 主工作端根据目标远程主机的标识将该添加命令发送至目标远程主机的副工作端salt‑minion,以使目标远程主机运行该添加命令。
[0127] 采用分布式远程命令执行系统作为调度系统执行上述流程,当任务量很大时,可以提高处理的速度。
[0128] 可选地,连接建立请求中包括访问用户的标识及目标远程主机的标识。那么在后端服务器接收到连接建立请求后,还可以对该访问用户是否具有访问该目标远程主机的权限进行验证。验证通过后,后端服务器向调度系统发送添加公钥请求,以便将随机生成的公钥通过调度系统发送至目标远程主机上。验证通过后,后端服务器向目标远程主机发送连接建立请求。
[0129] 在确定该访问用户具有访问权限后才会进行后续的操作,保证了整个访问过程的安全性。
[0130] 可选地,在验证通过后,后端服务器与前端应用建立基于TCP(Transmission Control Protocol,传输控制协议)的网络连接;基于所述公钥对应的私钥,与目标远程主机建立基于SSH(Secure Shell,安全壳协议)的网络连接。上述TCP连接和SSH连接均为长连接。
[0131] 后端服务器和前端应用建立基于TCP的网络连接,二者之间建立长连接方便后续处理任务和/或处理命令的传输,提高处理效率。在后端服务器将公钥通过调度系统下发至目标远程主机后,目标远程主机可以基于公钥接收后端服务器基于私钥发送的连接建立请求,从而与后端服务器建立长连接,因此后端服务器和目标远程主机之间的连接是动态建立的,提高了访问的安全性。此外,在后端服务器和目标远程主机之间建立基于SSH的网络连接,二者之间建立长连接方便后续后端服务器将前端应用发送的处理任务和/或处理命令传输至目标远程主机,提高处理效率。
[0132] 可选地,后端服务器通过短连接将公钥添加请求发送至调度系统,例如使用http请求、zmq请求等。调度系统通过短连接将添加命令发送至目标远程主机,例如使用http请求、zmq请求等。本发明实施例对此不作限制。
[0133] 在前端应用‑后端服务器‑目标远程主机之间建立长连接后,后续前端应用可以将各种处理命令和/或处理任务发送至目标远程主机上,以使目标远程主机执行。
[0134] 具体地,图5示出了一种可能的后端服务器的结构图,如图所示,后端服务器包括主机权限管理模块、高危操作分析模块、操作历史记录模块、连接管理模块。
[0135] 主机权限管理模块用于验证该访问用户是否具有访问该目标远程主机的权限。保证了访问的安全性。具体的,用户权限数据维护在配置管理数据库(Configuration Management Database,CMDB)中,这里记录了用户信息、子系统和具有访问权限的用户的对应关系、子系统中的远程主机的标识。如此,根据三者的关系就可确定该访问用户的权限。
[0136] 高危操作分析模块,用于限制高危命令执行。在前端应用‑后端服务器‑目标远程主机之间建立长连接后,后端服务器会接收到前端应用发送的处理命令,例如查询、统计等。高危操作分析模块确定该处理命令是否为高危操作,若否,则将处理命令发送至目标远程主机。具体地,可以维护一个可配置的高危命令黑名单,如:某台远程主机的某用户禁止使用哪些处理命令。后端服务器在接收到用户输入处理命令时,高危操作分析模块会去校验该处理命令是否命中了黑名单,如果命中则拒绝执行。
[0137] 操作历史记录模块,用于记录前端应用与目标远程主机之间的各交互数据。例如,登录操作,会话期间输入命令。这些记录可供日后问题排查和审计使用。
[0138] 连接管理模块,用于在主机权限管理模块确定该访问用户具有访问该目标远程的权限之后,发送连接建立请求至目标远程主机,发送公钥添加请求至调度系统。
[0139] 后端服务器的连接管理模块接收目标远程主机对处理命令的处理结果,并将处理结果发送至前端应用。
[0140] 一般来说,在前端应用‑后端服务器‑目标远程主机之间建立长连接后,后端服务器和目标远程主机通过之间的长连接进行处理命令和/或处理任务的发送和接收、处理结果的发送和接收。这样做不仅保证了连接建立的安全性,而且后续通过长连接进行数据的收发效率更高。
[0141] 另一种可能的实施方法是,利用调度系统进行处理命令和/或处理任务的发送和接收。后端服务器接收到前端应用的处理命令和/或处理任务后,将处理命令和/或处理任务发送至调度系统,调度系统的应用服务端根据处理命令和/或处理任务生成第三待执行任务,由工作端发送至目标远程主机进行执行。通过上述方式处理任务,而不是直接通过后端服务器和目标远程主机的长连接,虽然效率低一些,但是安全性更高。
[0142] 当前端结束会话时,例如用户退出登录、注销账户等,需要断开前端应用与该目标远程主机的连接。图6示出了一种可能的断开连接的方法流程。
[0143] 如图6所示,前端应用向后端服务器发送连接断开请求,连接断开请求中包括访问用户的标识和目标远程主机的标识,用于指示断开该前端应用与该目标远程主机的连接。
[0144] 后端服务器接收连接断开请求后,可以校验该访问用户是否具有权限,校验通过后,发送公钥删除请求至调度系统,发送连接断开请求至目标远程主机。
[0145] 调度系统基于应用服务端接收后端服务器发送的公钥删除请求,对所述公钥删除请求进行权限验证,在验证通过后生成所述公钥删除请求对应的第二待执行任务,并将所述第二待执行任务存储至所述调度系统的消息队列中;
[0146] 调度系统基于至少一个工作端从所述消息队列获取所述第二待执行任务,并生成所述第二待执行任务的删除命令,将所述删除命令发送至目标远程主机的代理端,以使所述目标远程主机的代理端运行所述删除命令。
[0147] 目标远程主机接收到后端服务器发送的连接断开请求,由于可能会存在很多用户同时调用该目标远程主机,因此该目标远程主机根据连接断开请求中的访问用户的标识确定了与该访问用户对应的后端服务器断开连接;目标远程主机接收到删除命令后,运行该删除命令,将为该访问用户生成的公钥从目标远程主机中删除。本发明实施例对目标远程主机与后端服务器的断开和删除公钥这两个操作的先后顺序不作限制。可以先删除公钥,后断开连接;也可以先断开连接,后删除公钥。
[0148] 如此,当访问结束后,目标远程主机删除公钥,那么后端服务器和目标远程主机就会解除信任关系。当再次有访问时,后端服务器会再次对应随机生成公钥,通过调度系统下发至目标远程主机,以使目标远程主机通过公钥与后端服务器建立连接。这样动态建立连接的方式保证了访问的安全性。
[0149] 基于相同的技术构思,图7示例性的示出了本发明实施例提供的一种针对远程主机的访问装置的结构,该结构可以执行针对远程主机的访问的流程。
[0150] 如图7所示,该装置具体包括:
[0151] 第一接收单元701,用于接收前端应用发送的连接建立请求;所述连接建立请求用于请求建立所述前端应用至目标远程主机的访问链路;
[0152] 第一发送单元702,用于向调度系统发送公钥添加请求;所述公钥添加请求中包括所述后端服务器为所述连接建立请求分配的公钥;所述公钥添加请求用于指示所述调度系统将所述公钥发送至所述目标远程主机;所述公钥为所述后端服务器随机生成;
[0153] 第一连接单元703,用于基于所述公钥对应的私钥,与所述目标远程主机建立连接。
[0154] 可选地,所述连接建立请求中包括访问用户的标识及目标远程主机的标识;所述装置还包括:
[0155] 第一处理单元704,用于基于所述访问用户的标识及所述目标远程主机的标识,确定所述访问用户具有访问所述目标远程主机的权限。
[0156] 可选地,所述第一连接单元703还用于:
[0157] 与所述前端应用建立基于传输控制协议TCP的网络连接;
[0158] 所述第一连接单元703,具体用于:
[0159] 基于所述公钥对应的私钥,与所述目标远程主机建立基于安全壳协议SSH的网络连接。
[0160] 所述第一接收单元701,还用于:
[0161] 接收所述前端应用发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0162] 所述第一发送单元702,还用于:
[0163] 向所述调度系统发送公钥删除请求;所述公钥删除请求用于指示所述调度系统将所述目标远程主机中所述访问用户对应的公钥删除;
[0164] 所述第一连接单元703,还用于:
[0165] 断开与所述目标远程主机的连接。
[0166] 所述第一接收单元701还用于:
[0167] 接收所述前端应用发送的处理命令;
[0168] 所述第一处理单元704还用于:确定所述处理命令是否为高危操作,若否,则将所述处理命令发送至所述目标远程主机;
[0169] 所述第一接收单元701还用于:接收所述目标远程主机对所述处理命令的处理结果,并将所述处理结果发送至所述前端应用。
[0170] 可选地,所述第一处理单元704还用于:
[0171] 记录所述前端应用与所述目标远程主机之间的各交互数据。
[0172] 本发明实施例还提供一种针对远程主机的访问装置,如图8所示,包括:
[0173] 第二接收单元801,用于:基于应用服务端接收所述后端服务器发送的公钥添加请求,对所述公钥添加请求进行权限验证,在验证通过后生成所述公钥添加请求对应的第一待执行任务,并将所述第一待执行任务存储至所述调度系统的消息队列中;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为所述前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0174] 第二发送单元802,用于基于至少一个工作端从所述消息队列获取所述第一待执行任务,并生成所述第一待执行任务的添加命令,将所述添加命令发送至所述目标远程主机的代理端,以使所述目标远程主机的代理端运行所述添加命令。
[0175] 可选地,所述第二接收单元801还用于:基于应用服务端接收后端服务器发送的公钥删除请求,对所述公钥删除请求进行权限验证,在验证通过后生成所述公钥删除请求对应的第二待执行任务,并将所述第二待执行任务存储至所述调度系统的消息队列中;
[0176] 所述第二发送单元802还用于:基于至少一个工作端从所述消息队列获取所述第二待执行任务,并生成所述第二待执行任务的删除命令,将所述删除命令发送至目标远程主机的代理端,以使所述目标远程主机的代理端运行所述删除命令。
[0177] 第六方面,本发明实施例还提供一种针对远程主机的访问装置,如图9所示,包括:
[0178] 第三接收单元901,用于:接收调度系统发送的添加命令,将所述添加命令中包含的公钥添加至所述目标远程主机;所述添加命令为所述调度系统基于后端服务器发送的公钥添加请求生成的;所述公钥添加请求中包括所述后端服务器为连接建立请求分配的公钥;所述连接建立请求为所述前端应用发送至所述后端服务器,用于请求建立所述前端应用至目标远程主机的访问链路;所述公钥为所述后端服务器随机生成;
[0179] 第二连接单元902,用于:基于所述公钥,与所述后端服务器建立连接。
[0180] 可选地,所述第三接收单元901,还用于:接收所述后端服务器发送的连接断开请求;所述连接断开请求中包括访问用户的标识和目标远程主机的标识;
[0181] 接收所述调度系统发送的删除命令,在所述目标远程主机删除所述公钥;所述删除命令为所述调度系统基于后端服务器发送的公钥删除请求生成的;所述公钥删除请求为所述后端服务器基于所述连接断开请求生成的,所述连接断开请求用于请求断开所述访问用户对应的前端应用至所述目标远程主机的访问链路;
[0182] 所述第二连接单元902,还用于:断开与所述后端服务器的连接。
[0183] 基于相同的技术构思,本申请实施例提供了一种计算机设备,如图10所示,包括至少一个处理器1001,以及与至少一个处理器连接的存储器1002,本申请实施例中不限定处理器1001与存储器1002之间的具体连接介质,图10中处理器1001和存储器1002之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
[0184] 在本申请实施例中,存储器1002存储有可被至少一个处理器1001执行的指令,至少一个处理器1001通过执行存储器1002存储的指令,可以执行上述针对远程主机的访问方法的步骤。
[0185] 其中,处理器1001是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1002内的指令以及调用存储在存储器1002内的数据,从而进行针对远程主机的访问。可选的,处理器1001可包括一个或多个处理单元,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。在一些实施例中,处理器1001和存储器1002可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0186] 处理器1001可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0187] 存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1002可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0188] 基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行上述任一方式所列的针对远程主机的访问的方法。
[0189] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0190] 本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0191] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0192] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0193] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。