首页 / 专利库 / 人工智能 / 虚拟代理 / 一种远程安全访问虚拟机的方法

一种远程安全访问虚拟机的方法

阅读:663发布:2020-05-11

专利汇可以提供一种远程安全访问虚拟机的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种远程安全 访问 虚拟机 的方法,包括:在 云 平台内部设置一个虚拟机管理网络并创建虚拟机;在所述虚拟机管理网络内启动 模拟器 服务;计算出虚拟机被访问的网络地址;配置 服务器 服务;通过 服务器代理 网络地址进行访问内部虚拟机;本发明通过获取到一个网络链接的网络地址,通过该网络地址,进行安全协议远程安全的访问环境,当目标系统需要进行安全协议远程且安全的访问时,实现跨网访问云平台内网的虚拟机。,下面是一种远程安全访问虚拟机的方法专利的具体信息内容。

1.一种远程安全访问虚拟机的方法,其特征在于,包括:
平台内部设置一个虚拟机管理网络并创建虚拟机;
在所述虚拟机管理网络内启动模拟器服务;
计算出虚拟机被访问的网络地址;
配置服务器服务;
通过服务器代理网络地址进行访问内部虚拟机。
2.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述在云平台内部设置一个虚拟机管理网络,具体包括:
在目标系统的底层对接的云平台中创建一个网络并为所述网络分配子网;
设置虚拟机以及对应在云平台的虚拟机管理网络,将所述虚拟机创建在所述虚拟机管理网络下。
3.如权利要求2所述的远程安全访问虚拟机的方法,其特征在于,所述子网的ip数量不小于设置的虚拟机数量。
4.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述在虚拟机管理网络内启动模拟器服务,具体包括:
在新创建的虚拟机中,安装由模拟器提供的客户端服务;
部署模拟器服务。
5.如权利要求4所述的远程安全访问虚拟机的方法,其特征在于,所述安装由模拟器提供的客户端服务,包括设置ip、用户名以及密码。
6.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述虚拟机被访问的网络地址通过内置计算法进行计算;具体包括:
将用户名和密码内置在系统中,在生成每个虚拟机对应的网络地址时,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
7.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述虚拟机被访问的网络地址通过自定义计算法进行计算;具体包括:
保存对应的用户名以及密码;
在生成网络地址的过程中,向系统获取该虚拟机对应镜像的用户名以及密码,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
8.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述网络地址包括系统服务的ip、端口以及安全协议进入虚拟机的服务路径。
9.如权利要求1所述的远程安全访问虚拟机的方法,其特征在于,所述通过服务器代理网络地址进行访问内部虚拟机,具体包括:
在进入网络地址链接时,对系统ip及端口进行识别并获取对应的模拟器服务;
当识别到模拟器服务对应的端口时,服务器跳转到模拟器服务器中并通过服务路径从模拟器中的安全协议进入虚拟机中。

说明书全文

一种远程安全访问虚拟机的方法

技术领域

[0001] 本发明涉及安全访问技术领域,尤其涉及一种远程安全访问虚拟机的方法。

背景技术

[0002] 以服务为基础计算平台是互联网时代信息基础设施的重要形态.是高性能和分布式计算发展的最新形式。它以新的业务模式提供高性能、低成本的计算与数据服务,支撑各类信息化应用。作为一种以虚拟化为基础、以服务为特征、以按需使用为业务模式的新型信息化形态。云计算概念诞生后迅速引起了政府、产业界和学术界的强烈关注,其应用的推广和普及已势不可挡。各大企业纷纷进行云计算产品和服务的研发,争抢占云计算应用市场的制高点。
[0003] 目前,市面上存在一种实训云系统,产品的后端架构便可以用云计算平台支持,通过云计算平台为系统提供计算服务,可以是单节点的云主机服务,也可以是多节点的资源编排服务,同时也可以实现系统不同用户的实操环境相隔离。云计算平台是实训云后端支撑的一个很好的选择。
[0004] 实训云系统通过对接云计算平台,启动一个实训环境,不得不面临跨平台ssh 远程访问虚拟机的问题,其中,SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是 UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞;SSH客户端适用于多种平台;几乎所有UNIX平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
[0005] 当云计算平台不能提供许多外部ip给虚拟机使用时,云平台创建的虚拟机将不能在外部通过ssh访问到,更不可能在实训云系统的实操界面ssh进入实操环境(虚拟机)。

发明内容

[0006] 本发明提供了一种远程安全访问虚拟机的方法,当目标系统需要进行安全协议远程且安全的访问时,通过获取到一个网络链接的网络地址,通过该网络地址,进行安全协议远程安全的访问环境,实现跨网访问云平台内网的虚拟机。
[0007] 为了解决上述技术问题,本发明实施例提供了一种远程安全访问虚拟机的方法,包括:
[0008] 在云平台内部设置一个虚拟机管理网络并创建虚拟机;
[0009] 在所述虚拟机管理网络内启动模拟器服务;
[0010] 计算出虚拟机被访问的网络地址;
[0011] 配置服务器服务;
[0012] 通过服务器代理网络地址进行访问内部虚拟机。
[0013] 作为优选方案,所述在云平台内部设置一个虚拟机管理网络,具体包括:
[0014] 在目标系统的底层对接的云平台中创建一个网络并为所述网络分配子网;
[0015] 设置虚拟机以及对应在云平台的虚拟机管理网络,将所述虚拟机创建在所述虚拟机管理网络下。
[0016] 作为优选方案,所述子网的ip数量不小于设置的虚拟机数量。
[0017] 作为优选方案,所述在虚拟机管理网络内启动模拟器服务,具体包括:
[0018] 在新创建的虚拟机中,安装由模拟器提供的客户端服务;
[0019] 部署模拟器服务。
[0020] 作为优选方案,所述安装由模拟器提供的客户端服务,包括设置ip、用户名以及密码。
[0021] 作为优选方案,所述虚拟机被访问的网络地址通过内置计算法进行计算;具体包括:
[0022] 将用户名和密码内置在系统中,在生成每个虚拟机对应的网络地址时,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
[0023] 作为优选方案,所述虚拟机被访问的网络地址通过自定义计算法进行计算;具体包括:
[0024] 保存对应的用户名以及密码;
[0025] 在生成网络地址的过程中,向系统获取该虚拟机对应镜像的用户名以及密码,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
[0026] 作为优选方案,所述网络地址包括系统服务的ip、端口以及安全协议进入虚拟机的服务路径。
[0027] 作为优选方案,所述通过服务器代理网络地址进行访问内部虚拟机,具体包括:
[0028] 在进入网络地址链接时,对系统ip及端口进行识别并获取对应的模拟器服务;
[0029] 当识别到模拟器服务对应的端口时,服务器跳转到模拟器服务器中并通过服务路径从模拟器中的安全协议进入虚拟机中。
[0030] 相比于现有技术,本发明实施例具有如下有益效果:
[0031] 本发明通过获取到一个网络链接的网络地址,通过该网络地址,进行安全协议远程安全的访问环境,当目标系统需要进行安全协议远程且安全的访问时,实现跨网访问云平台内网的虚拟机。附图说明
[0032] 图1:为本发明实施例中远程安全访问虚拟机的原理结构示意图;
[0033] 图2:为本发明实施例中云计算平台上的虚拟机的配置步骤图;
[0034] 图3:为本发明实施例中云计算平台上虚拟机的执行流程图
[0035] 图4:为图3中云计算平台上虚拟机的执行流程中的步骤S1的具体流程图;
[0036] 图5:为图3中云计算平台上虚拟机的执行流程中的步骤S2的具体流程图。

具体实施方式

[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 请参照图1,本发明优选实施例提供了一种远程安全访问虚拟机的方法,包括:
[0039] S1,在云平台内部设置一个虚拟机管理网络并创建虚拟机;在本实施例中,所述步骤S1具体包括:S11,在目标系统的底层对接的云平台中创建一个网络并为所述网络分配子网;S12,设置虚拟机以及对应在云平台的虚拟机管理网络,将所述虚拟机创建在所述虚拟机管理网络下。在本实施例中,所述子网的ip数量不小于设置的虚拟机数量。
[0040] 本实施例以实训云系统为目标系统。其中,在云平台内部定义一个虚拟机管理网络。在实训云底层对接的云平台中创建一个网络并为这个网络分配子网,注意要确保这个子网足够大,有足够多的ip可以分配给虚拟机,由实训云定义的实操(虚拟机)都降创建在这个子网下。
[0041] 在实训的每个实验课件中,定义每个实验启动的虚拟机以及对应在云平台的管理网络,在实训启动实验(虚拟机)的时候,会将虚拟机创建在定义的管理网络下。
[0042] S2,在所述虚拟机管理网络内启动模拟器服务;在本实施例中,所述步骤 S2具体包括:S21,在新创建的虚拟机中,安装由模拟器提供的客户端服务;S22,部署模拟器服务。在本实施例中,所述安装由模拟器提供的客户端服务,包括设置ip、用户名以及密码。
[0043] 其中,在虚拟机管理网络内启动gateone服务。在云平台中已经定义了一个虚拟机管理网络后,创建一个虚拟机接在虚拟机管理网络中,确保了这个虚拟机可以同虚拟机管理网络下的其他虚拟机通信,这样就满足ssh远程进入实验启动的虚拟机的前提条件。在新创建的虚拟机中,安装由gateone提供的webssh服务,该服务接受三个参数,分别是ip、用户名以及密码,通过这个三个参数,gateone可以模拟ssh进入虚拟机命令行界面
[0044] 部署gateone服务,利用gateone服务自身功能,例如:打开多个ssh进程而无需重复输入密码、支持各种服务器端的日志功能,支持Keberos-based 单点登录甚至活动目录、支持操作日志记录、操作记录回放功能,为实训云提供更多基于ssh远程访问的功能。
[0045] 在本方案中,模拟器服务是指gateone服务;安全协议是指ssh;客户端服务是指webssh服务;应用程序是指Webservice。
[0046] 其中,GateOne是一款使用HTML5技术编写的网页版SSH终端模拟器。基于现代的HTML5技术,无需任何浏览器插件、支持多个SSH进程、可以嵌入到其他任意应用程序中、支持使用JavaScript,Python甚至纯CSS编写的插件、支持SSH进程副本,打开多个进程而无需重复输入密码、支持各种服务器端的日志功能,支持Keberos-based单点登录甚至活动目录、支持操作日志记录,具有操作记录回放功能。
[0047] 其中,webssh泛指一种技术可以在网页上实现一个SSH终端。从而无需 Xshell之类的模拟终端工具进行SSH连接。
[0048] Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web 的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
[0049] S3,计算出虚拟机被访问的网络地址;其中,可以使用内置计算法和自定义计算法进行计算。
[0050] 在本实施例中,所述虚拟机被访问的网络地址通过内置计算法进行计算;具体包括:将用户名和密码内置在系统中,在生成每个虚拟机对应的网络地址时,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
[0051] 其中,内置计算法,是以每个虚拟机的镜像模板的用户名以及密码被人为统一为前提,用户名和密码被内置在系统中,在生成每个虚拟机对应的url时,会根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的url。
[0052] 在本实施例中,所述虚拟机被访问的网络地址通过自定义计算法进行计算;具体包括:保存对应的用户名以及密码;在生成网络地址的过程中,向系统获取该虚拟机对应镜像的用户名以及密码,根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的网络地址。
[0053] 其中,自定义计算法,主要针对不是大众或者使用过多的虚拟机镜像。这些虚拟机镜像用户名以及密码在实际情况中并不能统一,在配置实验时保存对应的用户名以及密码。在生成url的过程中,会向系统获取改虚拟机对应镜像的用户名以及密码,然后根据虚拟机的管理网络ip以及用户名和密码,生成一个统一格式的url。
[0054] 对于内置计算法,在系统中内置用户名和密码,对于大多数虚拟机是可行的并且省去了在实训云中未每个实验设置用户和密码的过程以及在生成url的过程中省去了向系统索要虚拟机对应镜像的用户名和密码。对于自定义计算法,适用于不能再次设置用户名以及密码的环境下。
[0055] 在本方案中,网络地址是指URL。其中,URL(UniformResourceLocator, 统一资源定位符),在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL;它是WWW的统一资源定位标志,就是指网络地址。
[0056] S4,配置服务器服务。
[0057] 其中,配置nginx服务。Nginx服务起代理作用,在用户只能访问实训系统而不能访问云计算平台时,在实训系统中配置nginx服务可以帮助用户通过实训系统访问云计算平台以及内部的虚拟机。
[0058] 在web页面打开ssh虚拟机的终端时,需要用户机可以访问云计算平台提供的gateone服务,即可以访问到虚机管理网络下的虚拟机。可以通过云计算平台提供的浮动ip功能给对应的虚拟机提供一个浮动ip,该ip可以被实训系统访问到,但是为了安全将云平台与外部网络隔离,该ip并不能被用户机访问到。为了实现用户机访问gateone服务,通过配置nginx,将欲访问gateone的 url链接通过实训云系统转发到内部云计算平台的gateone服务。
[0059] 在本方案中,服务器是指Nginx。其中,Nginx(enginex)是一个高性能的 HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
[0060] S5,通过服务器代理网络地址进行访问内部虚拟机。在本实施例中,所述步骤S5具体包括:S51,在进入网络地址链接时,对系统ip及端口进行识别并获取对应的模拟器服务;S52,当识别到模拟器服务对应的端口时,服务器跳转到模拟器服务器中并通过服务路径从模拟器中的安全协议进入虚拟机中。在本实施例中,所述网络地址包括系统服务的ip、端口以及安全协议进入虚拟机的服务路径。
[0061] 其中,naginx代理url访问内部虚拟机。在第三步中生成了ssh访问虚拟机的url,这个url包括了提供实训系统服务的ip、端口以及ssh进入哪个虚拟机的服务路径。通过配置nginx代理gateone服务,进入url链接时,会被 nginx识别实训系统的ip以及端口,该端口唯一,对应gateone服务。当识别到时gateone服务对应的端口时,nginx会跳转到gateone服务中并通过服务路径从gateone中ssh进入虚拟机中。
[0062] 下面结合具体实施例,对本发明进行详细说明。
[0063] 图1表示用户通过实训云系统ssh远程安全访问位于云计算平台上的虚拟机的整个架构图。
[0064] 其中,云计算平台,用于启动实训系统提供的实验环境(虚拟机)。
[0065] 其中,虚机管理网络,是自定义的,在注册进实训云系统后,用于接入实训云系统的实验环境(虚拟机)。
[0066] 其中,gateone服务,位于虚机管理网络下的一台虚拟机中,可以提供webssh 的功能,可以ssh进入虚机管理网络下的任意一台开启ssh功能的虚拟机。
[0067] 其中,nginx服务,位于实训云系统的后端,通过配置,可以把前端需要访问的某个url代理到gateone服务上,避免gateone服务对外暴露,提高安全性。
[0068] 其中,实训应用层服务,在整个发明的方法中,主要是计算ssh远程进入实验环境的url,提供给web前端,然后web前端访问这个url,通过nginx代理进入到gateone服务,进而进入到对应的虚拟机中。
[0069] 图2表示用户实现实训系统ssh远程安全访问位于云计算平台上的虚拟机的配置步骤。
[0070] 其中,第一步是在云平台中创建一个虚机管理网络,比如10.0.0.0/16,注意,这里选择16位的掩码,保证了可以在虚机管理网络下同时存在(2^16-2) 65534个虚拟机,如果需要同时存在更多的虚拟机,可以相应调整掩码大小。
[0071] 其中,第二步是在虚机管理网络下创建一个gateone虚拟机,比如ip为 10.0.0.3,利用这个ip可以访问虚机管理网络下的其他虚拟机。
[0072] 其中,第二步中,gateone虚拟机内部提供了一个gateone服务,服务路径是10.0.0.3:8000,这个服务路径是不能被云计算平台外部访问的,包括实训云系统。为了访问这个服务路径,给虚拟机分配一个浮动ip,假如是192.168.32.61,那么实训云系统可以通过浮动ip提供的服务路径192.168.32.61:8000访问 gateone服务。
[0073] 其中,第二步中,通过gateone服务可以ssh进入提供ssh服务的其他虚拟机。
[0074] 其中,第三步中,在实训云系统注册在第一步中创建的虚机管理网络,以及gateone虚拟机通过浮动ip提供的gateone服务路径。
[0075] 其中,第三步中,注册的虚机管理网络用于在创建实验时配置为该网络,注册的服务路径用于计算ssh远程访问虚拟机的url。
[0076] 其中,第四步是配置nginx服务,将应用层规定的访问gatone服务的url 代理到浮动ip提供的gateone服务路径中,当通过该url访问虚拟机时,访问被转发到gateone服务中,进而转入到对应的虚拟机中。
[0077] 其中,第四步中,通过配置nginx代理gatone服务,防止gateone服务以及虚拟机被暴露在外网,提高了实训系统以及云平台的安全性。
[0078] 图3是实现实训系统ssh远程安全访问位于云计算平台上的虚拟机的流程图。欲实现web页面ssh远程进入实验环境,第一步先获取到ssh进入实现环境的url,第二步通过第一步获取的url进行远程访问。
[0079] 图4表示图3中的S1步骤具体流程图。首先,将要获取url的需求提交给实训云web应用层服务,然后该服务会通过内置计算法或者自定义计算法获取到虚拟机的ip、用户名以及密码,最后通过ip、用户名以及密码组合出ssh访问虚拟机的url。
[0080] 图5表示图3中的S2步骤具体流程图。在图4中获取到ssh远程访问虚拟机的url后,通过访问url,实训系统配置的nginx服务会识别到这个访问端口 (8000)的请求,nginx会根据在图2中配置,将url中的实训系统的ip更改为已配置的gateone服务的浮动ip,生成新的url,最后访问这个url。访问新的url的请求会被gateone服务接受,gatone服务通过识别url中的ip参数确定需要ssh访问的虚拟机ip,通过url参数的user以及passwd确定待访问虚拟机的用户名以及密码。虚拟机ip、用户名以及密码这三个必要参数被确定后, gateone服务会直接通过这三个参数成功访问到对应的虚拟机,完成从前端ssh 远程安全的访问虚拟机。
[0081] 本发明公开了一种实现实训云ssh远程安全访问虚拟机的方法,该方法将实训云web服务、实训应用层服务、nginx代理服务以及由云计算平台内部虚拟机提供的gateon服务结合在一起,使得可以从web页面安全的ssh远程访问云计算平台内与外部网络隔离的虚拟机。云计算平台为实训云创建虚拟机环境,所有的虚拟机连接在同一个云计算平台的内部网络中,这个网络被定义为虚机管理网络。在虚机网络下连接了一个云计算平台内置的虚拟机,叫做gateone 虚拟机,该虚拟机提供gateone服务,即webssh远程访问服务,该服务通过用户提供的url链接即可在页面打开对应的虚拟机的ssh终端。本方法较现有的远程ssh访问虚拟机,提供了一个可以从web页面远程ssh访问到云计算平台内部网络隔离的虚拟机,并且通过nginx进行代理,避免虚拟机暴露给外部访问。
[0082] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈