CN115118471B - 远程连接方法、装置、电子设备及存储介质 - Google Patents

远程连接方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115118471B
CN115118471B CN202210686354.0A CN202210686354A CN115118471B CN 115118471 B CN115118471 B CN 115118471B CN 202210686354 A CN202210686354 A CN 202210686354A CN 115118471 B CN115118471 B CN 115118471B
Authority
CN
China
Prior art keywords
equipment
port
target
remote connection
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210686354.0A
Other languages
English (en)
Other versions
CN115118471A (zh
Inventor
潘冬
杨建波
麦峰强
阮松
万清健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huantai Technology Co Ltd
Original Assignee
Shenzhen Huantai Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huantai Technology Co Ltd filed Critical Shenzhen Huantai Technology Co Ltd
Priority to CN202210686354.0A priority Critical patent/CN115118471B/zh
Publication of CN115118471A publication Critical patent/CN115118471A/zh
Application granted granted Critical
Publication of CN115118471B publication Critical patent/CN115118471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例提供一种远程连接方法、装置、电子设备及存储介质,涉及远程调试技术领域。其中,方法包括:获取本地设备发送的远程连接请求,远程连接请求包括密钥;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;通过密钥对本地设备与目标设备进行连接。通过上述方法可以确保远程连接的安全性,进而提高远程调试的安全性。

Description

远程连接方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及远程调试技术领域,特别地,涉及一种远程连接方法、装置、电子设备及存储介质。
背景技术
随着远程调试技术的发展,目前可以通过一个设备远程控制另一个设备,以对另一个设备进行远程调试。例如,可以通过计算机远程控制手机,以对手机进行远程调试,例如,远程截图、远程测试。在对设备进行远程调试之前,需要先与设备建立远程连接,而如何提高远程连接的安全性是目前亟待解决的问题。
发明内容
本申请实施例提供一种远程连接方法、装置、电子设备及存储介质,以改善上述问题。
第一方面,本申请实施例提供一种远程连接方法。该方法包括:获取本地设备发送的远程连接请求,所述远程连接请求包括密钥;根据所述密钥与待连接设备的映射关系,从所述待连接设备中确定目标设备;通过所述密钥对所述本地设备与所述目标设备进行连接。
第二方面,本申请实施例提供一种远程连接装置。该装置包括:密钥获取模块,用于获取本地设备发送的远程连接请求,所述远程连接请求包括密钥;目标确定模块,用于根据所述密钥与待连接设备的映射关系,从所述待连接设备中确定目标设备;设备连接模块,用于通过所述密钥对所述本地设备与所述目标设备进行连接。
第三方面,本申请实施例提供一种电子设备。该电子设备包括存储器、一个或多个处理器以及一个或多个应用程序。其中,一个或多个应用程序被存储在存储器中,并被配置为当被一个或多个处理器调用时执行本申请实施例提供的方法。
第四方面,本申请实施例提供一种计算机可读取存储介质。该计算机可读取存储介质中存储有程序代码,该程序代码被配置为当被处理器调用时执行本申请实施例提供的方法。
本申请实施例提供一种远程连接方法、装置、电子设备及存储介质,通过获取本地设备发送的远程连接请求;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;通过密钥对本地设备与目标设备进行连接,从而以设备为维度,为每个设备生成一个对应的密钥,用户只有得到设备的密钥才能使用该设备。即,本申请通过密钥实现设备的远程连接,可以确保远程连接的安全性。此外,通过建立设备、密钥、用户三者之间的映射关系,可以对用户拥有的部分设备进行转赠和分享。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一实施例提供的远程连接方法的应用场景的示意图;
图2示出了本申请一示例性实施例提供的远程连接系统的示意图;
图3示出了本申请另一示例性实施例提供的远程连接系统的示意图;
图4示出了本申请又一示例性实施例提供的远程连接系统的示意图;
图5示出了本申请一实施例提供的远程连接方法的流程示意图;
图6示出了本申请另一实施例提供的远程连接方法的流程示意图;
图7示出了本申请再一示例性实施例提供的远程连接系统的示意图;
图8示出了本申请实施例提供的远程连接装置的结构框图;
图9示出了本申请实施例提供的电子设备的结构框图;
图10示出了本申请实施例提供的计算机可读取存储介质的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如前所述,在远程调试之前,需要先对电子设备进行远程连接。目前计算机与手机进行远程连接包括以下两种方式:
方式一,通过手机控制器连接真实安卓手机,将网络通信转接到真实安卓手机的通用串行总线(Universal Serial Bus,USB)接口中,将手机控制器的网络地址开放给购买真实安卓手机的用户,使得用户可以使用安卓手机调试桥(Android Debug Bridge,ADB)与真实安卓手机进行远程连接,在与真实安卓手机建立远程连接之后,可以对真实安卓手机进行远程调试。
方式二,在服务器上模拟真实手机,建立手机虚拟机,为虚拟机上的手机建立网络地址,得到虚拟手机。虚拟手机是带有安卓操作系统,同时具有虚拟手机功能的云服务器。用户购买了虚拟手机之后,可以为用户建立跳板机,生成安全外壳协议(Secure Shell,SSH)密钥,将私钥交付给用户。用户使用SSH可以建立多级端口映射,将虚拟手机的网络地址映射到用户本地地址,通过访问本地地址,便可连接虚拟手机,从而实现远程调试。
上述方式一没有实现ADB鉴权,参与实测的任何用户只要知道手机的网络地址和端口,便可使用手机,存在盗用风险,安全性较低。
上述方式二只提供虚拟手机,没有对接真实手机,该方式不能对真实手机进行远程连接。此外,上述方式二为每个用户生成一个密钥,用户使用同一个密钥可以访问所有购买的虚拟手机,控制粒度较粗,在用户同时拥有多部手机的情况下,用户不能将拥有的部分手机单独分享给他人。
鉴于上述问题,本申请实施例提供一种远程连接方法、装置、电子设备及存储介质,通过获取本地设备发送的远程连接请求,远程连接请求包括密钥;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;通过密钥对本地设备与目标设备进行连接,从而以设备为维度,为每个设备生成一个对应的密钥,用户只有得到设备的密钥才能使用该设备。即,本申请通过密钥实现设备的远程连接,可以确保远程连接的安全性,此外,通过建立设备、密钥、用户三者之间的映射关系,可以对用户拥有的部分设备进行转赠和分享。
在对本申请实施例提供的远程连接方法、装置、电子设备及存储介质之前,首先需要说明的是,本申请实施例中的图2、图4、图7中加粗的连接线表征此处连接为预先建立的固定连接,该固定连接处于保活状态,保活状态指的是加粗的连接线的两端的设备可以间隔预设时段来检测对方是否在线或者是否存在维持网络连接的需求。其中,预设时段可以通过设置计时器实现,预设时段可以根据实际需求进行设置,例如,5秒,本申请实施例在此不做具体限制。相对地,图2、图4、图7中没有加粗的连接线表征此处连接为根据授权公钥建立的连接。接下来先对本申请实施例的应用场景进行说明。
请参阅图1,图1示出了本申请一实施例提供的远程连接方法的应用场景的示意图。远程连接系统10包括本地设备11和服务端12。服务端12包括跳板机121和待连接设备122。本地设备11通过跳板机121与待连接设备122进行远程连接,远程连接的具体流程请参阅下面将提到的方法实施例中的方法步骤。
本地设备11指的是发起远程连接的设备。本地设备11可以是一个本地设备或包括多个本地设备,其中,本地设备可以是具有远程连接功能的电子设备,例如,计算机。
跳板机也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,通常通过SSH实现远程管理,例如,跳板机121可以是计算机。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用SSH协议可以有效防止远程管理过程中的信息泄露问题。跳板机121上安装有Linux系统,用于实现与其他设备进行网络连接。跳板机121可以为每台待连接设备122创建对应的Linux SSH用户,并生成对应的SSH密钥。
待连接设备122可以是一个待连接设备或包括多个待连接设备,其中,待连接设备可以是具有远程连接功能的真实设备(例如,真实的手机)或虚拟设备(例如,云手机)。
在一些实施方式中,待连接设备122可以是一个真实设备或包括多个真实设备。远程连接系统10的服务端12还包括工控机。待连接设备122与工控机之间通过USB接口进行连接。待连接设备122通过工控机与跳板机121连接。待连接设备122通过工控机和跳板机121与本地设备11连接。工控机可以是一个工控机或包括多个工控机,工控机可以是计算机。
作为一种示例,请参阅图2,图2示出了本申请一示例性实施例提供的远程连接系统的示意图。在本示例性实施例中,待连接设备122包括多个真实设备,例如,真实手机1221A、真实手机1222A、真实手机1223A、真实手机1224A。本地设备11包括多个本地设备,例如计算机111、计算机112、计算机113。远程连接系统10的服务端12还包括工控机123和工控机124。真实手机1221A和真实手机1222A通过工控机123与跳板机121连接。真实手机1221A和真实手机1222A通过工控机123和跳板机121分别与计算机111和计算机112连接。真实手机1223A和真实手机1224A通过工控机124与跳板机121连接。真实手机1223A通过工控机124和跳板机121与计算机113连接。在本示例性实施例中,真实手机1224A不与本地设备11连接。
在一些实施方式中,待连接设备122可以是一个虚拟设备或包括多个虚拟设备。待连接设备122通过跳板机121与本地设备11连接。作为一种示例,请参阅图3,图3示出了本申请另一示例性实施例提供的远程连接系统的示意图。在本示例性实施例中,待连接设备122包括多个虚拟设备,例如虚拟手机1221B、虚拟手机1222B、虚拟手机1223B、虚拟手机1224B。本地设备11包括多个本地设备,例如,计算机111、计算机112、计算机113。虚拟手机1221B、虚拟手机1222B、虚拟手机1223B通过跳板机121分别与计算机111、计算机112、计算机113连接。在本示例性实施例中,虚拟手机1224B不与本地设备11连接。
在一些实施方式中,待连接设备122包括虚拟设备和真实设备,其中,真实设备通过上述工控机与跳板机121连接,虚拟设备直接与跳板机121连接。
作为一种示例,请参阅图4,图4示出了本申请又一示例性实施例提供的远程连接系统的示意图。在本示例性实施例中,远程连接系统10的服务端12包括工控机123。待连接设备122包括真实设备和虚拟设备,例如,真实手机1221A、真实手机1222A和虚拟手机1223B、虚拟手机1224B。本地设备11包括多个本地设备,例如,计算机111、计算机112、计算机113。真实手机1221A和真实手机1222A通过工控机123与跳板机121连接。真实手机1221A、真实手机1222A通过工控机123和跳板机121分别与计算机111、计算机112连接。虚拟手机1223B、虚拟手机1224B直接与跳板机121连接。虚拟手机1223B通过跳板机121与计算机113连接。在本示例性实施例中,虚拟手机1224B不与本地设备11连接。
需要说明的是,上述部分实施方式中提到的工控机上安装有ADB软件。在工控机通过USB接口和USB连接线与待连接设备122连接时,工控机上的ADB软件处于开启状态,且待连接设备122的开发者模式和USB调试选项皆处于打开状态,此时工控机作为服务端,待连接设备122作为客户端,两者处于联通状态。其中,ADB软件用于实现传输控制协议(TCP,Transmission Control Protocol)和待连接设备122的USB接口的数据转发。ADB软件对接工控机上的ADB服务器,为上层网络提供TCP调用接口,将接收到的数据通过TCP协议转发,转为ADB服务器可接收的数据格式。工控机通过其上的ADB服务器和USB接口将上述数据发送到待连接设备122。
在一些实施方式中,上述待连接设备122可以部署在机房中,用于支持用户进行远程ADB调试,用户不用购买真实设备,只需要购买与真实设备对应的服务,便可远程体验真实设备,使得用户可以体验更多类型的真实设备。例如,真实设备是手机,用户只需要购买与手机对应的服务,便可远程体验手机,由于云端手机类型丰富,用户可以提高不同机型的手机。
请参阅图5,图5示出了本申请一实施例提供的远程连接方法的流程示意图。该远程连接方法至少可以应用于上述图1所示的远程连接系统10中的跳板机121,或者下文将会提到的图8所示的远程连接装置300。该远程连接方法可以包括以下步骤S110~步骤S130。
步骤S110,获取本地设备发送的远程连接请求,远程连接请求包括密钥。
本申请实施例中的远程连接请求由用户通过本地设备发起,用于请求与远程连接请求中的密钥对应的待连接设备进行远程连接,以远程连接之后对该带连接设备执行远程调试操作。
本申请实施例中的密钥可以是SSH密钥。密钥由跳板机根据待连接设备生成,每个待连接设备对应一个密钥,待连接设备与密钥的映射关系存储于跳板机中,形成如表1所示的待连接设备与密钥的映射关系表。
表1
上述密钥可以是对称密钥,也可以是非对称密钥,具体可以根据实际需求选择采用对称密钥或非对称密钥,其中,对称密钥加密和解密速度相比于非对称密钥更快,非对称密钥安全性相比于对称密钥更高。其中,对称密钥的密钥一致,如表1所示,该密钥存储在跳板机中。非对称密钥包括公钥和私钥,如表1所示,公钥存储在跳板机中,私钥通过安全途径交付给用户,用户可以将私钥存储在本地设备中,以便后续通过私钥和公钥建立SSH通道,实现设备之间的远程连接。其中,安全途径可以包括短信发送,邮件发送,或者现实面对面交付,本申请实施例在此不限制具体的安全途径。也就是说,若用户购买待连接设备,则可以通过安全途径得到所购买的设备对应的密钥。
在一些实施方式中,若用户购买待连接设备,则用户购买的待连接设备与该用户形成映射关系,而该待连接设备与密钥存在映射关系。也即,用户、待连接设备、密钥三者形成映射关系。在一些实施方式中,可以将三者的映射关系存储在跳板机中,形成如表2所示的用户、待连接设备、密钥的映射关系表。根据用户是否购买待连接设备,可以在跳板机中通过添加授权公钥的方式,对用户、待连接设备、密钥三者三者的映射关系进行灵活配置,其中,授权公钥指的是用户已购买或通过受赠已拥有的待连接设备对应的公钥。本申请实施例根据用户、待连接设备、密钥三者形成的映射关系来实现本申请实施例中的远程连接方法,从而在用户拥有多部设备时,可以对用户拥有的部分设备进行转赠和分享,提高设备使用的灵活性和远程连接的扩展性。
表2
用户 待连接设备 密钥
用户A 设备A 公钥A或密钥A
用户B 设备B 公钥B或密钥B
用户C 设备C 公钥C或密钥C
在一些实施方式中,当用户将拥有的设备转增或通过买卖途径转交给其他用户时,用户可以通过本地设备向跳板机发送更改用户与待连接设备的映射关系的请求,该请求至少可以包括目标设备,目标设备的当前用户,以及目标设备的目标用户。在跳板机收到该请求之后,可以对该请求进行解析,得到目标设备,目标设备的当前用户,以及目标设备的目标用户。跳板机可以基于目标设备,目标设备的当前用户,以及目标设备的目标用户更改映射关系表中的用户与待连接设备之间的映射关系,具体地,可以将目标设备的当前用户更换为目标用户。作为一种示例,目标设备为A,当前用户为用户A,目标用户为用户A*,在对表2所示的映射关系表进行更改用户与待连接设备的映射关系之后,可以得到如表3所示的映射关系表。
表3
用户 待连接设备 密钥
用户A 设备A* 公钥A或密钥A
用户B 设备B 公钥B或密钥B
用户C 设备C 公钥C或密钥C
在一些实施方式中,用户可以将其拥有的待连接设备分享给其他用户,例如,用户将其拥有的待连接设备租、借给其他用户,此时用户和接受设备分享的用户共同拥有待连接设备。用户可以选择增加其所拥有的待连接设备的用户数量。用户可以向跳板机发送新增目标设备与用户的映射关系的请求,该请求包括目标设备,目标设备的当前用户,以及目标设备的新增用户。在跳板机接收到该请求时,可以该对请求进行解析,得到目标设备,目标设备的当前用户,以及目标设备的新增用户。跳板机可以根据目标设备,目标设备的当前用户,以及目标设备的新增用户,为目标设备新增一个映射关系,该映射关系为目标设备与新增用户的映射关系。作为一种示例,目标设备为C,当前用户为用户C,目标用户为用户C1,在对表3所示的映射关系表进行新增目标设备与用户的映射关系之后,可以得到如表4所示的映射关系表。
表4
用户 待连接设备 密钥
用户A 设备A* 公钥A或密钥A
用户B 设备B 公钥B或密钥B
用户C 设备C 公钥C或密钥C
用户C1 设备C 公钥C或密钥C
在一些实施方式中,还可以对跳板机中的映射关系表进行删除用户与待连接设备的映射关系的操作,例如,用户可以向跳板机发送删除目标设备与用户的映射关系的请求,该请求包括目标设备和删除目标。跳板机在接收到该请求时,可以对该请求进行解析,得到目标设备和删除目标,并根据目标设备和删除目标对映射关系进行更改。作为一种示例,目标设备为C,删除目标为用户C,在对表4所示的映射关系表进行删除目标设备与用户的映射关系之后,可以得到如表5所示的映射关系表。
表5
用户 待连接设备 密钥
用户A 设备A* 公钥A或密钥A
用户B 设备B 公钥B或密钥B
用户C1 设备C 公钥C或密钥C
在一些实施方式中,在获取到本地设备发送的远程连接请求时,可以对远程连接请求进行解析,得到远程连接请求中的密钥,此处密钥可以是公钥或对称密钥。
在一些实施方式中,远程连接请求可以包括密钥和目标连接设备,目标连接设备指的是用户期望与本地设备进行远程连接的待连接设备。在获取到远程连接请求时,可以对远程连接请求进行解析,得到远程连接请求中的密钥和目标连接设备,以便后续检测目标连接设备是否与密钥对应的待连接设备一致。
步骤S120,根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备。
本申请实施例中的目标设备与远程连接请求中的密钥存在映射关系,且该映射关系存储于跳板机中的如表1或表2所示的映射关系表中。
在一些实施方式中,若远程连接请求包括密钥,可以根据该密钥在上述映射关系表中查询与密钥对应的目标设备。
在一些实施方式中,若远程连接请求包括密钥和目标连接设备,可以检测目标连接设备是否与上述映射关系表中的密钥对应的待连接设备一致。若目标连接设备与密钥对应的待连接设备一致,则将目标连接设备确定为目标设备,继续执行步骤S120。若目标连接设备与密钥对应的待连接设备不一致,则返回执行步骤S110。在一些实施方式中,若目标连接设备与密钥对应的待连接设备不一致,还可以发出提示信息,并返回执行步骤S110。其中,提示信息用于提示用户密钥与目标连接设备不一致。
步骤S130,通过密钥对本地设备与目标设备进行连接。
在一些实施方式中,跳板机上安装有Linux系统,可以通过Linux系统对本地设备与目标设备进行远程连接。
在一些实施方式中,密钥为SSH密钥,SSH密钥是跳板机基于Linux系统与待连接设备进行网络连接并根据待连接设备对应生成的。可以通过SSH密钥构建SSH通道,将本地设备的端口映射到目标设备对应的端口,路经跳板机,以便后续通过访问本地设备的端口便可连接到目标设备,从而实现本地设备与目标设备之间的远程连接,以便后续对目标设备执行远程调试操作。
本申请实施例提供的远程连接方法,通过获取本地设备发送的远程连接请求,远程连接请求包括密钥;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;通过密钥对本地设备与目标设备进行连接,从而以设备为维度,为每个设备生成一个对应的密钥,用户只有得到设备的密钥才能使用该设备。即,本申请通过密钥实现设备的远程连接,可以确保远程连接的安全性,此外,通过建立设备、密钥、用户三者之间的映射关系,来实现设备之间的远程连接,在用户拥有多个设备时,可以对用户拥有的部分设备进行转赠和分享。
请参阅图6,图6示出了本申请另一实施例提供的远程连接方法的流程示意图。该远程连接方法至少可以应用于上述图1所示的远程连接系统10中的跳板机121,或者下文将会提到的图8所示的远程连接装置300。该远程连接方法可以包括以下步骤S210~步骤S250。
步骤S210,获取本地设备发送的远程连接请求,远程连接请求包括密钥。
步骤S220,根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备。
其中,步骤S210和步骤S220的具体描述请参阅上述步骤S110和步骤S120,本申请实施例在此不再赘述。
步骤S230,获取本地设备的端口、目标设备的网络地址和端口。
本申请实施例中的网络地址可以是互联网协议地址(Internet ProtocolAddress,IP地址),也称网际协议地址。
本申请实施例中的本地设备的端口与目标设备的端口对应同一应用程序,以便在本地设备和目标设备建立远程连接之后执行不同的应用程序,以实现不同的远程调试功能,例如,远程调试功能可以是远程截图或远程测试,本申请实施例在此不限制具体远程调试功能。
在一些实施方式中,待连接设备仅包括真实设备。可以获取通过USB接口与目标设备连接的工控机的网络地址和端口,将工控机的网络地址和端口作为目标设备的网络地址和端口,其中,工控机上安装有ADB软件,工控机通过ADB软件和USB接口与目标设备连接。具体地,在工控机与目标设备通过USB接口和USB连接线连接时,工控机上的ADB软件开启,目标设备的开发者模式和USB调试选项皆处于打开状态,此时工控机作为服务端,目标设备作为客户端,两者处于联通状态。
在一些实施方式中,工控机包括多个端口。可以获取本地设备的端口,检测本地设备的端口对应的应用程序,根据应用程序从工控机的多个端口中确定目标端口,将目标端口作为目标设备的端口。
在另一些实施方式中,待连接设备仅包括虚拟设备。可以获取获取虚拟设备的网络地址和端口,将虚拟设备的网络地址和端口作为目标设备的网络地址和端口。
在又一些实施方式中,待连接设备包括真实设备和虚拟设备。若目标设备为真实设备,则获取通过USB接口与目标设备连接的工控机的网络地址和端口,将工控机的网络地址和端口作为目标设备的网络地址和端口。若目标设备为真实设备,则获取虚拟设备的网络地址和端口,将虚拟设备的网络地址和端口作为目标设备的网络地址和端口。本实施方式可以同时对接真实设备和模拟设备,为上层网络提供了统一的上层接口,虚拟设备可以直接建立网络地址,真实设备可以通过TCP转USB的方式实现上层指令的传输。
步骤S240,根据密钥、本地设备的端口、目标设备的网络地址和端口,建立端口转发通道。
本申请实施例中的端口转发通道可以建立于在SSH客户端(即本地设备)与SSH服务端(即目标设备)之间,将网络数据通过该通道转发至指定端口(即目标设备的端口),从而进行网络通信。SSH通道提供加密和解密服务,保证数据传输的安全性。
在一些实施方式中,端口转发通道可以是本地端口转发通道。本地端口转发通道的表达式可以为“本地端口:目标地址:目标端口”。其中,本地端口指的是本地设备的端口,目标地址指的是目标设备的网络地址,目标端口指的是目标设备的端口。在得到密钥、本地设备的端口、目标设备的网络地址和端口时,对密钥进行验证,验证成功之后,将本地设备的端口、目标设备的网络地址和端口写入上述本地端口转发通道的表达式中,以将本地设备的端口映射到目标设备的端口,以便后续可以通过本地设备的端口访问目标设备,并基于目标设备的网络地址对本地设备与目标设备进行远程网络连接。
步骤S250,通过端口转发通道,对本地设备与目标设备进行连接。
如前所述,端口转发通道可以将本地设备的端口映射到目标设备的端口,从而可以通过本地设备的端口访问目标设备,并基于目标设备的网络地址对本地设备与目标设备进行远程网络连接。
本申请实施例提供的远程连接方法,通过获取本地设备发送的远程连接请求,远程连接请求包括密钥;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;获取本地设备的端口、目标设备的网络地址和端口;根据密钥、本地设备的端口、目标设备的网络地址和端口,建立端口转发通道;通过端口转发通道,对本地设备与目标设备进行连接,从而以设备为维度,为每个设备生成一个对应的密钥,用户只有得到设备的密钥才能使用该设备。即,本申请通过密钥实现设备的远程连接,可以确保远程连接的安全性,此外,通过建立设备、密钥、用户三者之间的映射关系,可以对用户拥有的部分设备进行转赠和分享。此外,本申请实施例提供的远程连接方法可以同时对接真实设备和模拟设备,不限制待连接设备的类型,具有灵活性和扩展性。
为便于理解,本申请提供一示例性实施例对上述远程连接方法进行示例性说明,该示例性实施例仅用于解释,而非对本申请进行限制。请参阅图7,图7示出了本申请再一示例性实施例提供的远程连接系统的示意图。本示例性实施例中的密钥是非对称密钥,包括公钥和私钥,公钥存储在跳板机中,私钥通过上述安全途径交付给用户。本示例性实施例中的跳板机可以根据用户是否购买待连接设备,建立上述用户、待连接设备、密钥三者之间的映射关系,并将该映射关系存储在用户、待连接设备、密钥三者的映射关系表中。
如图7所示,待连接设备包括手机A、手机B、手机C、手机D。工控机1包括端口1111和端口2222。手机A通过USB1接口与工控机1的端口1111连接,该连接为上述预先建立的固定连接且处于上述保活状态。手机B通过USB1与工控机1的端口2222连接,该连接为上述预先建立的固定连接且处于上述保活状态。手机C通过USB2与工控机2的端口3333连接,该连接为上述预先建立的固定连接且处于上述保活状态。手机D通过USB2与工控机2的端口4444连接,该连接为上述预先建立的固定连接且处于上述保活状态。
跳板机包括端口23和端口24。跳板机可以通过端口23与本地设备A连接,通过端口24与本地设备D连接。跳板机上安装有Linux系统,跳板机基于Linux系统分别与工控机1和工控机2进行网络连接。跳板机可以根据手机A、手机B、手机C、手机D分别生成对应的四个包括公钥和私钥的密钥,并将公钥存储在跳板机中,将密钥通过安全途径交付给已购买手机的用户,以使用户将私钥存储在本地设备中,方便后续建立SSH通道。
如图7所示,若用户A购买手机A,则跳板机中会生成SSH用户A,并将手机A对应的公钥A存储在SSH用户A对应的映射关系表中。用户A可以通过上述安全途径得到手机A的密钥(私钥A和公钥A)。用户A可以将私钥A存储在本地设备A中,可以基于公钥A和私钥A建立本地设备A与手机A之间的SSH通道(即上述端口转发通道),从而实现本地设备A与手机A之间的远程连接。同样地,若用户D购买手机D,则跳板机中会生成SSH用户D,并将手机D对应的公钥D存储在SSH用户D对应的映射关系表中。用户D可以通过上述安全途径得到手机D的密钥(私钥D和公钥D)。用户D可以将私钥D存储在本地设备D中,可以基于公钥D和私钥D建立本地设备D与手机D之间的SSH通道(即上述端口转发通道),从而实现本地设备D与手机D之间的远程连接。
以建立本地设备A与手机A之间的远程连接为例,用户A通过本地设备A将公钥A发送至跳板机。若跳板机根据公钥A查找到手机A,则可以获取本地设备A的端口23,端口23与端口1111对应同一应用程序。跳板机可以根据端口23获取工控机1的端口1111,并直接获取工控机1的IP地址。跳板机可以将端口23、工控机1的IP地址、工控机1的端口1111写入上述本地端口转发通道的表达式中,得到“23:工控机1的IP地址:1111”,从而将端口23映射到端口1111。本地设备A通过访问端口23便可连接到手机A,从而可以实现本地设备A和手机A之间的远程连接。
请参阅图8,图8示出了本申请实施例提供的远程连接装置的结构框图。远程连接装置300可以应用于上述远程连接系统10中的跳板机121。远程连接装置300包括密钥获取模块310、目标确定模块320、设备连接模块330。
密钥获取模块310,用于获取本地设备发送的远程连接请求,所述远程连接请求包括密钥。
目标确定模块320,用于根据所述密钥与待连接设备的映射关系,从所述待连接设备中确定目标设备。
设备连接模块330,用于通过所述密钥对所述本地设备与所述目标设备进行连接。
在一些实施方式中,设备连接模块330包括端口获取子模块、通道建立子模块、设备连接子模块。
端口获取子模块,用于获取所述本地设备的端口、所述目标设备的网络地址和端口。
通道建立子模块,用于根据所述密钥、所述本地设备的端口、所述目标设备的网络地址和端口,建立端口转发通道。
设备连接子模块,用于通过所述端口转发通道,对所述本地设备与所述目标设备进行连接。
在一些实施方式中,所述待连接设备包括真实设备和虚拟设备。端口获取子模块包括真实设备端口获取单元和第一端口确定单元。
真实设备端口获取单元,用于若所述目标设备为所述真实设备,获取通过USB接口与所述目标设备连接的工控机的网络地址和端口。其中,所述工控机上安装有ADB软件,所述工控机通过所述ADB软件和USB接口与所述目标设备连接。
第一端口确定单元,用于将所述工控机的网络地址和端口作为所述目标设备的网络地址和端口。
在一些实施方式中,端口获取子模块还包括虚拟设备端口获取单元和第二端口确定单元。
虚拟设备端口获取单元,用于若所述目标设备为所述虚拟设备,获取所述虚拟设备的网络地址和端口。
第二端口确定单元,用于将所述虚拟设备的网络地址和端口作为所述目标设备的网络地址和端口。
需要说明的是,所述本地设备的端口与所述目标设备的端口对应同一应用程序。
在一些实施方式中,设备连接模块330还用于通过Linux系统对所述本地设备与所述目标设备进行连接。
本领域技术人员可以清楚地了解到,本申请实施例提供的远程连接装置300可以实现本申请实施例提供的远程连接方法。上述装置和模块的具体工作过程,可以参阅本申请实施例中的远程连接方法对应的过程,在此不再赘述。
本申请提供的实施例中,所显示或讨论的模块相互之间的耦合、直接耦合或者通信连接,可以是通过一些接口、装置或模块的间接耦合或通信耦合,可以是电性、机械或其他形式,本申请实施例对此不作限制。
另外,在本申请实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件的功能模块的形式实现,本申请实施例在此不作限制。
请参阅图9,图9示出了本申请实施例提供的电子设备的结构框图。该电子设备400可以包括一个或多个如下部件:存储器410、一个或多个处理器420以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器410中并被配置为当被一个或多个处理器420调用时,使得一个或多个处理器420执行本申请实施例提供的上述远程连接方法。
处理器420可以包括一个或多个处理核。处理器420利用各种接口和线路连接整个电子设备400内各个部分,用于运行或执行存储在存储器410内的指令、程序、代码集或指令集,以及调用运行或执行存储在存储器410内的数据,执行电子设备400的各种功能和处理数据。可选地,处理器420可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编辑逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器420可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成于处理器420中,单独通过一块通信芯片进行实现。
存储器410可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器410可以用于存储指令、程序、代码、代码集或指令集。存储器410可以包括存储程序区和存储数据区。其中,存储程序区可以存储用于实现操作系统的指令、用于实现至少一个功能的指令、用于实现上述各个方法实施例的指令等。存储数据区可以存储电子设备400在使用中所创建的数据等。
请参阅图10,图10示出了本申请实施例提供的计算机可读取存储介质的结构框图。该计算机可读取存储介质500中存储有程序代码510,该程序代码510被配置为当被处理器调用时,使得处理器执行本申请实施例提供的上述远程连接方法。
计算机可读取存储介质500可以是诸如闪存、电可擦除可编辑只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编辑只读存储器(Erasable Programmable Read-Only Memory,EPROM)、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质500包括非易失性计算机可读介质(Non-TransitoryComputer-Readable Storage Medium,Non-TCRSM)。计算机可读取存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码510可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以以适当的形式进行压缩。
综上所述,本申请实施例提供的远程连接方法、装置、电子设备及存储介质,通过获取本地设备发送的远程连接请求,远程连接请求包括密钥;根据密钥与待连接设备的映射关系,从待连接设备中确定目标设备;通过密钥对本地设备与目标设备进行连接,从而以设备为维度,为每个设备生成一个对应的密钥,用户只有得到设备的密钥才能使用该设备。即,本申请通过密钥实现设备的远程连接,可以确保远程连接的安全性,此外,通过建立设备、密钥、用户三者之间的映射关系,可以对用户拥有的部分设备进行转赠和分享。
最后应说明的是:以上实施例仅用于说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (9)

1.一种远程连接方法,其特征在于,应用于跳板机,所述方法包括:
获取本地设备发送的远程连接请求,所述远程连接请求包括密钥,所述密钥是由跳板机生成的安全外壳协议密钥;
根据所述密钥与待连接设备的映射关系,从所述待连接设备中确定目标设备;
获取所述本地设备的端口、所述目标设备的网络地址和端口;
根据所述密钥、所述本地设备的端口、所述目标设备的网络地址和端口,建立端口转发通道;
通过所述端口转发通道,对所述本地设备与所述目标设备进行连接。
2.根据权利要求1所述的方法,其特征在于,所述待连接设备包括真实设备和虚拟设备,所述获取所述目标设备的网络地址和端口,包括:
若所述目标设备为所述真实设备,获取通过USB接口与所述目标设备连接的工控机的网络地址和端口;
将所述工控机的网络地址和端口作为所述目标设备的网络地址和端口。
3.根据权利要求2所述的方法,其特征在于,所述工控机上安装有ADB软件,所述工控机通过所述ADB软件和USB接口与所述目标设备连接。
4.根据权利要求2所述的方法,其特征在于,所述获取所述目标设备的网络地址和端口,还包括:
若所述目标设备为所述虚拟设备,获取所述虚拟设备的网络地址和端口;
将所述虚拟设备的网络地址和端口作为所述目标设备的网络地址和端口。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述本地设备的端口与所述目标设备的端口对应同一应用程序。
6.根据权利要求1所述的方法,其特征在于,所述对所述本地设备与所述目标设备进行连接,包括:
通过Linux系统对所述本地设备与所述目标设备进行连接。
7.一种远程连接装置,其特征在于,应用于跳板机,所述装置包括:
密钥获取模块,用于获取本地设备发送的远程连接请求,所述远程连接请求包括密钥,所述密钥是由跳板机生成的安全外壳协议密钥;
目标确定模块,用于根据所述密钥与待连接设备的映射关系,从所述待连接设备中确定目标设备;
设备连接模块,用于获取所述本地设备的端口、所述目标设备的网络地址和端口;根据所述密钥、所述本地设备的端口、所述目标设备的网络地址和端口,建立端口转发通道;通过所述端口转发通道,对所述本地设备与所述目标设备进行连接。
8.一种电子设备,其特征在于,包括:
存储器;
一个或多个处理器;
一个或多个应用程序,所述一个或多个应用程序存储在所述存储器中,当被所述一个或多个处理器调用时,使得所述一个或多个处理器执行如权利要求1~6任一项所述的方法。
9.一种计算机可读取存储介质,所述计算机可读取存储介质上存储有程序代码,所述程序代码当被处理器调用时,使得所述处理器执行如权利要求1~6任一项所述的方法。
CN202210686354.0A 2022-06-16 2022-06-16 远程连接方法、装置、电子设备及存储介质 Active CN115118471B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210686354.0A CN115118471B (zh) 2022-06-16 2022-06-16 远程连接方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210686354.0A CN115118471B (zh) 2022-06-16 2022-06-16 远程连接方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115118471A CN115118471A (zh) 2022-09-27
CN115118471B true CN115118471B (zh) 2024-06-04

Family

ID=83328554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210686354.0A Active CN115118471B (zh) 2022-06-16 2022-06-16 远程连接方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115118471B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007022731A1 (fr) * 2005-08-26 2007-03-01 Huawei Technologies Co., Ltd. Procede, systeme et equipement de negociation de cle de cryptage dans une trame de verification universelle amelioree
CN104363591A (zh) * 2014-10-24 2015-02-18 深圳市金立通信设备有限公司 一种无线热点的接入控制方法
CN104363609A (zh) * 2014-10-24 2015-02-18 深圳市金立通信设备有限公司 一种无线热点的接入控制设备
CN106982215A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种密钥管理方法及装置
CN107463499A (zh) * 2017-08-08 2017-12-12 百度在线网络技术(北京)有限公司 Adb远程连接方法、装置、设备及存储介质
CN109150944A (zh) * 2017-06-28 2019-01-04 北大方正集团有限公司 远程控制连接方法、网络连接设备及电子终端
CN110351228A (zh) * 2018-04-04 2019-10-18 阿里巴巴集团控股有限公司 远程登录方法、装置和系统
CN110830436A (zh) * 2019-09-17 2020-02-21 网宿科技股份有限公司 用户登录方法与跳板机
CN111131470A (zh) * 2019-12-27 2020-05-08 联想(北京)有限公司 终端设备及其数据处理方法以及数据处理系统
CN111405006A (zh) * 2020-03-06 2020-07-10 北京奇艺世纪科技有限公司 一种远程登录失败的处理方法、装置及远程登录系统
CN112399416A (zh) * 2020-12-02 2021-02-23 中国联合网络通信集团有限公司 一种接入方法及装置
CN114117532A (zh) * 2021-11-29 2022-03-01 深圳壹账通智能科技有限公司 云服务器的访问方法、装置、电子设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007022731A1 (fr) * 2005-08-26 2007-03-01 Huawei Technologies Co., Ltd. Procede, systeme et equipement de negociation de cle de cryptage dans une trame de verification universelle amelioree
CN104363591A (zh) * 2014-10-24 2015-02-18 深圳市金立通信设备有限公司 一种无线热点的接入控制方法
CN104363609A (zh) * 2014-10-24 2015-02-18 深圳市金立通信设备有限公司 一种无线热点的接入控制设备
CN106982215A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种密钥管理方法及装置
CN109150944A (zh) * 2017-06-28 2019-01-04 北大方正集团有限公司 远程控制连接方法、网络连接设备及电子终端
CN107463499A (zh) * 2017-08-08 2017-12-12 百度在线网络技术(北京)有限公司 Adb远程连接方法、装置、设备及存储介质
CN110351228A (zh) * 2018-04-04 2019-10-18 阿里巴巴集团控股有限公司 远程登录方法、装置和系统
CN110830436A (zh) * 2019-09-17 2020-02-21 网宿科技股份有限公司 用户登录方法与跳板机
CN111131470A (zh) * 2019-12-27 2020-05-08 联想(北京)有限公司 终端设备及其数据处理方法以及数据处理系统
CN111405006A (zh) * 2020-03-06 2020-07-10 北京奇艺世纪科技有限公司 一种远程登录失败的处理方法、装置及远程登录系统
CN112399416A (zh) * 2020-12-02 2021-02-23 中国联合网络通信集团有限公司 一种接入方法及装置
CN114117532A (zh) * 2021-11-29 2022-03-01 深圳壹账通智能科技有限公司 云服务器的访问方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115118471A (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
EP3484125B1 (en) Method and device for scheduling interface of hybrid cloud
EP3148225B1 (en) Bluetooth connection-based audio playback method and apparatus
US20190236300A1 (en) Service processing method and apparatus, data sharing system, and storage medium
CA2773095C (en) Computer with flexible operating system
CN106357609B (zh) 一种创建用户的方法和系统、公网服务器及私有云设备
CN107086984A (zh) 一种获取和生成验证码的方法、终端及服务器
CN107113319A (zh) 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器
CN110493074B (zh) 一种服务器与客户端的测试方法及系统
CN103747013A (zh) 一种云端登录验证方法及装置
CN111461720B (zh) 基于区块链的身份验证方法、装置、存储介质及电子设备
CN109558739A (zh) 程序运行方法、装置、终端及可读介质
CN111176794A (zh) 一种容器管理方法、装置及可读存储介质
CN109818959B (zh) 一种远程服务通信方法、服务器和系统
CN111030980A (zh) 一种Linux透明网络设备平台实现方法、装置及存储介质
CN114189553B (zh) 一种流量回放方法、系统及计算设备
CN107277012A (zh) 一种信息共享方法与装置
CN104537284A (zh) 一种基于远程服务的软件保护系统和方法
CN107733766A (zh) 云平台专有网络间安全互联方法、装置、设备及存储介质
CN115118471B (zh) 远程连接方法、装置、电子设备及存储介质
CN111835523B (zh) 一种数据请求方法、系统及计算设备
CN114006705B (zh) 数字签名处理方法、装置、计算机设备和存储介质
CN111786932A (zh) 账号登录方法、装置、电子设备及计算机存储介质
US11163537B1 (en) Tiered application pattern
CN112543194A (zh) 移动终端登录方法、装置、计算机设备和存储介质
CN109743237A (zh) 一种app的鉴权方法及网关

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant