一种网络远程协助方法、系统、电子设备和介质与流程

文档序号:17089206发布日期:2019-03-13 23:14阅读:201来源:国知局
一种网络远程协助方法、系统、电子设备和介质与流程

本申请涉及一种网络远程协助方法、系统、电子设备和介质。



背景技术:

通常情况下,服务器以及相应的系统和服务都是搭建部署在内网,因网络安全设备(例如防火墙等)在用户内网或者只能由内到外进行网络访问,此时外网是不能访问内网的。

由于外网是不能访问内网,在解决网络设备的应急响应问题场景中,无法提供远程协助功能及即时排查设备问题。例如,用户侧办公地与机房分离异地管理;机房有强的安全策略,不允许开放外部端口;用户只能由内到外访问外网,但不能由外到内被访问等的情况下,一旦出现紧急情况,内部人员无法有效处理,而需要远程协助通过应急处置人员进行远程操作时,则无法实现。



技术实现要素:

本申请的一个方面提供了一种网络远程协助方法,所述方法包括:处于内网环境中的待协助端通过ssh隧道与处于外网环境中的代理服务器建立连接通道;处于外网环境中的远程协助端与代理服务器连接,并向所述代理服务器发送与所述待协助端连接的连接请求;所述代理服务器接收请求并通过请求认证后,开启端口使远程协助端通过端口和所述连接通道与待协助端连接,并对待协助端进行控制和操作。

可选地,待协助端包括至少一个待协助设备,远程协助端包括至少一个远程协助设备;向所述代理服务器发送与所述待协助端连接的连接请求,包括:获取待协助端中至少一个待协助设备的哈希值,通过哈希值识别远程协助设备需连接的待协助设备。

可选地,处于内网环境中的待协助端通过ssh隧道与处于外网环境中的代理服务器建立连接通道,包括:将待协助端的固定端口通过ssh反向代理到代理服务器的本地端口上;通过固定端口、本地端口形成连接通道。

可选地,处于外网环境中的远程协助端与代理服务器连接,并向所述代理服务器发送与所述待协助端连接的连接请求;包括:远程协助端产生随机端口,随机端口与代理服务器的对外开放端口进行连接;远程协助端向所述代理服务器发送与所述待协助端连接的连接请求,所述代理服务器生成ssh认证证书。可选地,所述代理服务器接收请求并通过请求认证后,开启端口使远程协助端通过端口以及连接通道与待协助端连接,包括:代理服务器接收请求并通过请求认证后,代理服务器将本地端口与对外开放端口进行绑定;远程协助端通过随机端口、对外开放端口、本地端口连接待协助端的固定端口。

可选地,对外开放端口与随机端口的数量一致。

可选地,在将待协助端的固定端口通过ssh反向代理到代理服务器的本地端口上之前,还包括:判断本地端口是否被占用,若本地端口被占用,发送提示信息,判断由待协助端至代理服务器的单向链路是否连通,若否,发送提示信息。

本申请的另一个方面还提供了一种网络远程协助系统,所述系统包括:建立连接通道模块,用于处于内网环境中的待协助端通过ssh隧道与处于外网环境中的代理服务器建立连接通道;发送连接请求模块,用于处于外网环境中的远程协助端与代理服务器连接,并向所述代理服务器发送与所述待协助端连接的连接请求;连接模块,用于所述代理服务器接收请求并通过请求认证后,开启端口使远程协助端通过端口以及连接通道与待协助端连接,并对待协助端进行控制和操作。

本申请的又一个方面还提供了一种电子设备,所述设备包括:通信器;处理器;存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的网络远程协助方法。

本申请的再一个方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上文所述的中网络远程协助方法。

附图说明

为了更完整地理解本申请及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了本申请一个实施例提供的网络远程协助方法流程图;

图2示意性示出了图1中网络远程协助方法对应的网络拓扑图;

图3示意性示出了本申请另一个实施例提供的网络远程协助方法流程图;

图4示意性示出了本申请实施例提供的网络远程协助系统框图;

图5示意性示出了根据本申请实施例提供的电子设备框图。

具体实施方式

以下,将参照附图来描述本申请的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本申请的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本申请实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

本申请的一个实施例提供了一种网络远程协助方法,参见图1和图2,所述方法包括步骤s101~步骤s103的内容:

步骤s101,处于内网环境中的待协助端通过ssh隧道与处于外网环境中的代理服务器建立连接通道。

处于内网环境是指处于局域网环境中,局域网即指一个局部的地理范围内将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。例如处于某企业、某学校、某工厂内部的网络环境中。那么相应地,处于外网环境是指处于广域网环境中,广域网即是指一种跨地区的数据通讯网络,通常包含一个国家或地区。广域网通常由两个或多个局域网组成。计算机通过使用运营商提供的设备作为信息传输平台。如通过公用网络(电话网、光纤)、卫星等连接到广域网。例如处于互联网的网络环境中。

在本申请实施例中,处于内网环境中的待协助端可以访问外网,但处于外网中的计算机设备是无法直接与处于内网中的设备进行通信的。因此,如图2所示,本申请实施例通过在外网环境中设置代理服务器,待协助端通过ssh隧道反向代理,将待协助端的端口绑定至代理服务器中的端口上,形成连接通道。该过程即为图2中a箭头所示的待协助端主动通过ssh隧道反向代理将待协助端的端口绑定至代理服务器中的端口上。

ssh隧道具体为通过ssh端口转发实现,ssh隧道反向代理是指将端口绑定到远程服务器。此处的远程服务器对于待协助端而言是指代理服务器,此处将端口绑定作用为实现端口转发,即将一个端口的通讯数据转发至另一个端口。通过将待协助端的端口绑定至代理服务器中的端口上,从而使得代理服务器中的端口上的通讯数据会被转发到待协助端的端口上,即形成一种映射。该连接通道可以是指当访问代理服务器中的端口时,就相当于访问待协助端的端口,因为当用户访问代理服务器中的端口时,通讯数据会被转发到待协助端的端口。当访问代理服务器中的端口时,并不是直接与待协助端进行通信,而是借助ssh隧道反向代理搭建的该连接通道将通信数据进行转发。

步骤s102,处于外网环境中的远程协助端与代理服务器连接,并向所述代理服务器发送与所述待协助端连接的连接请求。

处于外网环境中的远程协助端与代理服务器之间可以自由通信,但此时远程协助端还不能直接通过步骤s101中的连接通道直接与待协助端进行通信。为了保证远程协助过程中的安全性,应首先通过远程协助端发送连接请求,代理服务器通过公网网络接收到该请求。处于外网环境中的远程协助端与代理服务器连接的过程即为图2中b箭头所示。

需要说明的是,本发明实施例中ssh隧道作用是将通讯数据进行转发,由于ssh本身的安全特性,别人无法看到明文传输的数据,数据依靠ssh隧道实现了加密的效果,起到了保护数据安全的效果。

步骤s103,所述代理服务器接收请求并通过请求认证后,开启端口使远程协助端通过端口和连接通道与待协助端连接,并对待协助端进行控制和操作。

由于上文所述的端口绑定是指将待协助端的端口与代理服务器的端口,而绑定的该代理服务器的端口只支持本地访问,即指支持代理服务器本身进行访问,而不支持其他别的设备通过该绑定的端口进行访问待协助端,因此代理服务器通过请求认证后,代理服务器开启端口是指代理服务器将已绑定待协助端的端口与对外开放的端口进行绑定,实现本地转发,对外开放的端口即可以为步骤s102中远程协助端与代理服务器连接时的端口,即将图2中的b、c箭头所指的过程进行衔接。从而使得远程协助端可以通过该代理服务器开启的端口访问待协助端,进一步地实现对待协助端的控制和操作。

综上所述,本申请实施例通过ssh隧道反向代理的方式将处于内网中的待协助端的端口绑定至代理服务器的端口上,然后通过本地转发将已绑定待协助端的代理服务器的端口再次绑定至代理服务器对外开放的端口。从而实现处于外网中的远程服务端可以通过该对外开放的端口实现对处于内网环境中的待协助端的连接,并通过该连接实现对待协助端的控制和操作。

本申请的另一个实施例提供了一种网络远程协助方法,参见图3,所述方法包括步骤s301~步骤s304的内容:

步骤s301,将处于内网环境中待协助端的固定端口通过ssh反向代理到处于外网环境中代理服务器的本地端口上;通过固定端口、本地端口形成待协助端与代理服务器之间的连接通道。

ssh反向代理是指将端口绑定到远程服务器,此处的远程服务器对于待协助端而言是指代理服务器,此处将端口绑定作用为实现端口转发,即将一个端口的通讯数据转发至另一个端口。

例如,通过将待协助端的固定端口a绑定至代理服务器中的本地端口b上,从而使得该本地端口b上的通讯数据会被转发到待协助端的端口a上,即形成一种映射。该连接通道可以是指当访问代理服务器的端口b时,就相当于访问待协助端的端口a,因为当用户访问代理服务器中的端口时,通讯数据会被转发到待协助端的端口a。当访问代理服务器的端口b时,并不是直接与待协助端进行通信,而是借助ssh隧道反向代理搭建的该连接通道将通信数据进行转发。

通过情况下,代理服务器中的本地端口b为ssh的指定端口,22端口。而待协助端的端口a则为待协助端设备的固定端口,一个设备对应一个固定端口。待协助端包括至少一个待协助设备,远程协助端包括至少一个远程协助设备,即可以实现有多个待协助设备,通过多个远程协助设备分别与这些待协助的设备进行连接。例如待协助设备为m、n、k,远程协助设备为p、q、y,则可以设备p对应地对设备m进行远程操作和控制,同时,设备q对应地对设备n进行远程操作和控制,设备y对应地对设备k进行远程操作和控制。

另外,在将待协助端的固定端口通过ssh反向代理到代理服务器的本地端口上之前,还可判断本地端口是否被占用,若本地端口被占用,发送提示信息,并判断由待协助端至代理服务器的单向链路是否连通,若否,发送提示信息。避免在链路不连通或者端口被占用的情况下直接进行反向代理操作而出现错误或者绑定失败的情况。

步骤s302,处于外网环境中的远程协助端产生随机端口,随机端口与代理服务器的对外开放端口进行连接。

远程协助端和代理服务器均处于外网环境中,通过远程协助端产生的随机端口c与代理服务器的对外开放端口d进行连接,使得远程协助端与代理服务器之间可以自由通信。

步骤s303,远程协助端向所述代理服务器发送与所述待协助端连接的连接请求,代理服务器生成ssh认证证书。

在需要通过远程协助端进行协助时,应通过远程协助端发送请求,该请求的数据包通过远程协助端的随机端口c发送至代理服务器的对外开放端口d,代理服务器收到该请求后生成ssh认证证书,并通过公钥和私钥的形式进行ssh认证过程。该认证过程只需进行一次即可。

另外,远程协助端向所述代理服务器发送与所述待协助端连接的连接请求的过程还包括:获取待协助端中至少一个待协助设备的哈希值,通过哈希值识别远程协助设备需发送连接请求的待协助设备。也就是说,当待协助设备为2个以上时,远程协助设备需要识别其需要连接的是哪一个,因此,需要根据每个待协助设备的设备信息进行区分,将该设备信息记录为哈希值。通过对设备信息产生的哈希值进行匹配即可识别远程协助设备需要连接的是哪一个待协助设备。该设备信息可以包括待协助设备的ip地址,待协助设备的固定端口号等。

步骤s304,待代理服务器接收请求并通过请求认证后,代理服务器将本地端口与对外开放端口进行绑定;远程协助端通过随机端口、对外开放端口、本地端口连接待协助端的固定端口。

以ssh证书认证的方式保证了请求过程的安全性。由于上文中将待协助端的固定端口a与代理服务器的本地端口b,而绑定的该代理服务器的端口b只支持本地访问,即指支持代理服务器本身进行访问,而不支持其他别的设备通过该绑定的端口b访问待协助端,因此在代理服务器通过证书认证后,代理服务器将本地端口b与对外开放的端口d进行绑定,实现本地转发。从而使得远程协助端通过随机端口c、对外开放端口d、本地端口b连接待协助端的固定端口a,即实现远程协助端通过随机端口c访问对外开放端口d时就相当于访问了待协助端的固定端口a,进一步地实现对待协助端的控制和操作。

其中,对外开放端口与随机端口的数量一致。当有多个远程协助装置时,多个远程协助装置随机产生多个随机端口,为了避免端口冲突,这些多个随机端口与代理服务器上的多个对外开放端口进行连接,可以实现一对一的连接。

综上所述,本申请实施例通过ssh隧道反向代理的方式将处于内网中的待协助端的端口绑定至代理服务器的端口上,然后通过本地转发将已绑定待协助端的代理服务器的端口再次绑定至代理服务器对外开放的端口。从而实现处于外网中的远程服务端可以通过该对外开放的端口实现对处于内网环境中的待协助端的连接,并通过该连接实现对待协助端的控制和操作。

参见图4,图4示例性示出了根据本申请实施例的网络远程协助系统,系统400包括:建立连接通道模块401,用于处于内网环境中的待协助端通过ssh隧道与处于外网环境中的代理服务器建立连接通道;发送连接请求模块402,用于处于外网环境中的远程协助端与代理服务器连接,并向所述代理服务器发送与所述待协助端连接的连接请求;连接模块403,所述代理服务器接收请求并通过请求认证后,开启端口使远程协助端通过端口以及连接通道与待协助端连接,并对待协助端进行控制和操作。

根据本申请的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本申请实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。

图5示意性示出了根据本申请实施例的电子设备的框图。

如图5所示,电子设备500包括通信器501,处理器502和存储器503。该电子设备500可以执行根据本申请实施例的方法。

具体地,通信器501用于与服务器通信;处理器502例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器502还可以包括用于缓存用途的板载存储器。处理器502可以是用于执行根据本申请实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

存储器503,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的直播间标签的添加方法。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本申请实施例的方法。

根据本申请的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

本领域技术人员可以理解,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本申请的范围。

尽管已经参照本申请的特定示例性实施例示出并描述了本申请,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本申请的精神和范围的情况下,可以对本申请进行形式和细节上的多种改变。因此,本申请的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

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