终端的远程协助方法、设备、系统和介质与流程

文档序号:17627356发布日期:2019-05-10 23:48阅读:203来源:国知局
终端的远程协助方法、设备、系统和介质与流程

本公开涉及一种终端的远程协助方法、设备、系统和介质。



背景技术:

目前,网络安全设备只能在用户局域网内访问,或者只能由内到外进行网络访问,并不能由外到内远程访问。例如,用户侧办公地与机房分离异地管理,机房设置有安全策略,不允许机房开放外部端口,此时用户只能由内到外访问外网,但是不能由外到内被访问。当网络安全设备出现问题时,在解决网络安全设备的应急响应中,无法提供远程协助功能及即时排查网络安全设备的问题。



技术实现要素:

本公开鉴于上述问题,提供了一种终端的远程协助方法、设备、系统和介质。通过第一终端由内到外主动发起ssh请求到服务器,服务器基于ssh证书登录的方式与第一终端建立连接后做反向代理,然后第二终端通过登录服务器与第一终端建立连接,从而对第一终端进行远程协助,并提供了同时远程协助多台内网设备的功能。

本公开的一个方面提供了一种终端的远程协助方法,方法包括:s1,第一终端发送ssh请求至服务器;s2,所述服务器接收到所述ssh请求后,基于ssh证书登录的方式与所述第一终端建立连接,并获取所述第一终端的设备信息;s3,第二终端远程登录所述服务器,根据所述设备信息与所述第一终端建立连接,并对所述第一终端进行远程协助。

可选地,所述步骤s2还包括:所述服务器为所述第一终端分配一代理端口。

可选地,所述第一终端的数量为一个及以上,每一所述第一终端对应一所述代理端口,所述步骤s3还包括:所述第二终端分别通过每一所述第一终端对应的所述代理端口与所述第一终端建立连接。

可选地,所述方法还包括:所述第一终端与所述服务器建立连接后,所述第一终端与所述服务器之间进行数据传输,并完成所述第一终端与所述服务器之间的链路探测。

可选地,所述ssh请求中包含rsa公钥,所述步骤s1还包括:所述第一终端生成rsa密钥对,其中,所述密钥对由所述rsa公钥和dsa密钥构成。

可选地,所述第二终端远程登录所述服务器还包括:若所述第二终端的配置访问端口在预设地址端口范围内,允许所述第二终端远程登录所述服务器,否则,拒绝所述第二终端远程登录所述服务器。

可选地,所述第一终端设置有一开关,所述第一终端的用户点击所述开关后,所述第一终端发送所述ssh请求。

本公开另一方面还提供了一种终端的远程协助电子设备,包括:处理器;存储器,其存储有计算机可执行程序,所述程序在被所述处理器执行时,使得所述处理器执行上述终端的远程协助方法。

本公开另一方面还提供了一种终端的远程协助系统,所述终端的远程协助系统包括:请求模块,用于通过第一终端发送ssh请求至服务器;建立连接模块,用于通过所述服务器接收到所述ssh请求后,基于ssh证书登录的方式与所述第一终端建立连接,并获取所述第一终端的设备信息;远程协助模块,用于通过第二终端远程登录所述服务器,根据所述设备信息与所述第一终端建立连接,并对所述第一终端进行远程协助。

本公开另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述终端的远程协助方法。

附图说明

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

图1示意性示出了根据本公开实施例提供的终端的远程协助方法的流程图。

图2示意性示出了根据本公开的电子设备的框图。

图3示意性示出了本公开实施例的终端的远程协助系统的框图。

具体实施方式

根据结合附图对本公开示例性实施例的以下详细描述,本公开的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。

在本公开中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。

在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。

图1示意性示出了根据本公开实施例提供的终端的远程协助方法的流程图。如图1所示,该方法包括如下操作。

s1,第一终端发送ssh请求至服务器。

服务器为代理服务器,其允许第二终端(即控制端)通过该代理服务器对第一终端(即被控端)进行远程协助。

第一终端设置有一开关,当使用第一终端的用户点击该开关后,第一终端发送ssh请求至服务器,使得被控端用户可以直接请求远程协助,操作简单。

第一终端生成rsa密钥对,该rsa密钥对中包括rsa公钥,根据该rsa公钥生成ssh请求,并将包含rsa公钥的ssh请求发送至服务器。

rsa算法是一种非对称加密算法,rsa密钥对基于rsa算法生成,分为密钥和公钥两部分。

ssh为建立在应用层基础上的安全外壳协议。本实施例中的ssh提供的是基于密钥的安全验证。

s2,服务器接收到ssh请求后,基于ssh证书登录的方式与第一终端建立连接,并获取第一终端的设备信息。

ssh证书登录即本实施例中ssh提供的基于密钥的安全认证,服务器支持openssh证书认证之后,配置生成证书后,等待第一终端通过证书认证后即可建立服务器与第一终端之间的连接。

具体地,操作s2包括以下子操作:

s21,服务器接收到含有rsa公钥的ssh请求后,从ssh请求中取出第一终端序列号,验证第一终端序列号是否合法,若第一终端序列号合法,服务器将rsa公钥加入authorized_keys文件,并在公钥字符串后面加入超时信息。

s22,服务器为第一终端分配代理端口,本公开实施例支持同时对多台第一终端进行远程协助,因此,当第一终端的数量在一个及以上时,为每一个第一终端分配一代理端口,每一第一终端都有其对应的代理端口。

由于服务器需要同时连接多台第一终端,此时采用多端口进行连接,避免端口冲突而无法进行远程协助。

s23,第一终端生成动态口令,根据动态口令生成dsa密钥对,并允许使用dsa密钥登录。

s24,服务器记录第一终端的动态口令,执行ssh反向代理。本实施例中,反向代理是指代理服务器接收控制端的连接请求,然后将连接请求转发给内部网络上的被控端,并将被控端上得到的结果返回给控制端。

s25,服务器获取第一终端的设备信息,其中,通过设备信息可以正确识别其相对应的第一终端。设备信息,如设备硬件hash值。

s26,第一终端与服务器建立连接后,在第二终端对第一终端进行远程协助之前,需在第一终端和服务器之间进行数据传输,以完成第一终端和服务器之间的链路探测,确保在远程协助前第一终端和服务器的ip地址可用且端口未被占用。

s3,第二终端远程登录服务器,根据设备信息与第一终端建立连接,并对第一终端进行远程协助。

首先,第二终端根据客户序列号查询动态口令和ssh代理端口,根据动态口令生成dsa私钥,使用dsa私钥远程登录服务器。

若第二终端的配置访问端口在预设地址端口范围内,允许第二终端远程登录服务器,否则,拒绝第二终端远程登录服务器,即服务器直接断开与第二终端之间的连接。预设地址端口范围即允许对第一终端进行远程协助的终端的端口范围。

然后,第二终端设备根据每一个第一终端的设备信息,识别该设备信息对应的第一终端,通过该第一终端对应的代理端口对该第一终端进行远程协助。

此外,本实施例中服务器、隐藏的协助机器、整个协助系统、云代理服务器不对外暴露任何信息,提高了代理设备的安全性。

如图2所示,电子设备200包括处理器210、计算机可读存储介质220。该电子设备200可以执行上面参考图1描述的方法,以进行消息处理。

具体地,处理器210例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器210还可以包括用于缓存用途的板载存储器。处理器210可以是用于执行参考图1描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质220,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质220可以包括计算机程序221,该计算机程序221可以包括代码/计算机可执行指令,其在由处理器210执行时使得处理器210执行例如上面结合图1所描述的方法流程及其任何变形。

计算机程序221可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序221中的代码可以包括一个或多个程序模块,例如包括221a、模块221b……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器210执行时,使得处理器210可以执行例如上面结合图1所描述的方法流程及其任何变形。

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

图3示意性示出了本公开实施例的终端的远程协助系统的框图。

如图3所示,终端的远程协助系统包括请求模块310、建立连接模块320、远程协助模块330。

具体地,请求模块310,用于通过第一终端生成rsa密钥对,该rsa密钥对中包括rsa公钥,根据该rsa公钥生成ssh请求,并将包含rsa公钥的ssh请求发送至服务器。

建立连接模块320,用于通过服务器接收到含有rsa公钥的ssh请求后,为第一终端分配代理端口,并且当第一终端的数量在一个及以上时,为每一个第一终端分配一代理端口;通过第一终端生成动态口令,根据动态口令生成dsa密钥对,允许服务器使用该dsa密钥登录;通过服务器记录第一终端的动态口令,执行ssh反向代理,获取第一终端的设备信息,并与第一终端建立连接。

远程协助模块330,通过第二终端根据客户序列号查询动态口令和ssh代理端口,根据动态口令生成dsa私钥,使用dsa私钥远程登录服务器,并根据每一个第一终端的设备信息,识别该设备信息对应的第一终端,第二终端通过该第一终端对应的代理端口对该第一终端进行远程协助。

可以理解的是,请求模块310、建立连接模块320、远程协助模块330可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,请求模块310、建立连接模块320、远程协助模块330中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,请求模块310、建立连接模块320、远程协助模块330中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

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

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

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