用户端远程登陆服务端的方法及系统
技术领域
本发明涉及一种计算机领域,特别是涉及一种用户端远程登陆服务端的方法及系统。
背景技术
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用Telnet程序,可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。目前,使用者通过用户端开始一个Telnet会话,需要输入用户名和密码来登录服务器。由于用户端和服务端之间的传输是明文传输,Telnet协议有被第三方监听、盗取用户名和密码的风险。因此,需要对现有的远程登陆的方式进行改进。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种用户端远程登陆服务端的方法及系统,用于解决现有技术中基于Telnet协议的远程登陆方式有被第三方监听、盗取数据的问题。
为实现上述目的及其他相关目的,本发明提供一种用于服务端的远程登陆方法,包括:1)监听所述服务端中的第一端口,并由所述第一端口获取来自用户端的访问密码;2)验证所述访问密码,当验证成功时,向所述用户端发出验证成功信息并控制所述服务端的第二端口打开,以便允许所述用户端进行远程登陆。
优选地,在执行所述步骤1)之前,所述远程登陆方法还包括:将预设的访问密码以预设的方式发送至所述用户端,以便使用所述用户端的用户根据所获取的访问密码输入相应的访问密码。
优选地,所述步骤2)包括:将来自所述用户端的访问密码与所述预设的访问密码进行对比,若一致,则验证成功,反之,则验证失败。
优选地,所述远程登陆方法还包括:在验证失败时,控制所述第二端口关闭;或者,在所述用户端与所述服务端远程通信断开时,控制所述第二端口关闭。
基于上述目的,本发明还提供一种用于用户端的远程登陆方法,包括:1’)基于用户的远程登陆操作将访问密码发送至服务端的第一端口,以便所述服务端进行验证;2’)在接收到所述服务端的验证成功信息时,通过所述服务端的第二端口进行远程登陆。
优选地,所述步骤1’)包括:将来自所述服务端的访问密码予以显示,并获取所述用户输入的访问密码;将所输入的访问密码发送至所述第一端口,以便所述服务端进行验证。
基于上述目的,本发明还提供一种用于服务端的远程登陆系统,包括:第一模块,用于监听所述服务端中的第一端口,并由所述第一端口获取来自用户端的访问密码;第三模块,用于验证所述访问密码,当验证成功时,向所述用户端发出验证成功信息并控制所述服务端的第二端口打开,以便允许所述用户端进行远程登陆。
优选地,所述第一模块还用于将预设的访问密码以预设的方式发送至所述用户端,以便使用所述用户端的用户根据所获取的访问密码输入相应的访问密码。
优选地,所述第三模块将来自所述用户端的访问密码与所述预设的访问密码进行对比,若一致,则验证成功,反之,则验证失败。
优选地,所述第三模块还用于在验证失败时,控制所述第二端口关闭;或者,在所述用户端与所述服务端远程通信断开时,控制所述第二端口关闭。
基于上述目的,本发明还提供一种用于用户端的远程登陆系统,包括:第二模块,用于基于用户的远程登陆操作将访问密码发送至服务端的第一端口,以便所述服务端进行验证;第四模块,用于在接收到所述服务端的验证成功信息时,通过所述服务端的第二端口进行远程登陆。
优选地,所述第二模块包括:第二一子模块,用于将来自所述服务端的访问密码予以显示,并获取所述用户输入的访问密码;第二二子模块,用于将所输入的访问密码发送至所述第一端口,以便所述服务端进行验证。
如上所述,本发明的用户端远程登陆服务端的方法及系统,具有以下有益效果:通过在服务端与用户端远程通信前设置验证访问密码的关卡,能有效克服服务端的第二端口公开、且登陆的用户名和密码为明文的不安全性;另外,由服务端将访问密码以图片或加密的方式提供给用户端,能够有效预防黑客盗取访问密码的漏洞;还有,在用户端与服务端断开远程通信时,关闭所述第二端口,能进一步防止服务端被任意访问的情况发生。
附图说明
图1显示为本发明的用户端远程登陆服务端的方法的流程图。
图2显示为本发明的用户端远程登陆服务端的方法的一种优选方式的流程图。
图3显示为本发明的用户端远程登陆服务端的系统的结构示意图。
图4显示为本发明的用户端远程登陆服务端的系统的一种优选方式的结构示意图。
元件标号说明
11、11’ 第一模块
12、12’ 第二模块
121’ 第二一子模块
122’ 第二二子模块
13、13’ 第三模块
14、14’ 第四模块
S1~S4、S1’~S5’ 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
实施例一
请参阅图1,本发明提供一种用户端远程登陆服务端的方法。其中,所述用户端包括但不限于:手机、个人电脑、平板电脑等。所述服务端包括但不限于:网络主机、单个网络服务器、多个网络服务器集或多个服务器等。所述服务端中设有一私有端口(即第一端口),用来在所述用户端进行远程登陆前,与所述用户端进行验证通信。所述服务端还设有第二端口(例如,端口号为23的端口),用于开放给所述用户端进行远程登陆及远程操作。其中,所述第二端口在没有用户端进行远程登陆时,为关闭状态,同时,所述服务端实时的监听所述第一端口。
在步骤S1中,所述用户端基于用户的远程登陆操作将访问密码发送至服务端的第一端口,以便所述服务端进行验证。
具体地,当用户点击所述用户端中的远程登陆图标时,所述用户端可以弹出一对话框,并提示所述用户输入访问密码,当用户输入完并点击完成时,所述用户端将所输入的访问密码发送至所述第一端口。其中,所述访问密码可以为任意的文字、字母、数字、符号及其组合。优选地,所述访问密码为对应128位的二进制数。例如,所述访问密码为:0x21A2、2876、0987、2346、98BF、9854、1238、或A8D6等。
为了安全,所述访问密码可以内置在所述用户端,只要用户启动远程登陆,所述用户端就自动的将所存的访问密码发送至所述第一端口。
在步骤S2中,所述服务端监听所述第一端口,并获取来自用户端的访问密码。
具体地,所述服务端通过监听http协议、https协议等封包,获取来自上述用户端的访问密码。
在步骤S3中,所述服务端验证所述访问密码是否成功,若验证成功,则向所述用户端发出验证成功信息并控制所述第二端口打开,以便允许所述用户端进行远程登陆,反之,则继续关闭所述第二端口。
其中,所述预设的访问密码可以仅为一个,也可以为多个。例如,所述服务端为每个用户端或用户对应设置一访问密码。
在此,所述验证成功信息可以是布尔值“true”或用数值1来表示。同样,当验证失败时,所述服务端可以发送验证失败信息。所述验证失败信息可以是布尔值“false”或者数值“0”。
具体地,所述服务端将所获取的访问密码与所述预设的各访问密码进行匹配,若找到相一致的,则验证成功,向所述用户端发出验证成功信息并控制所述第二端口打开,以便所述用户端执行步骤S4;反之,则验证失败,关闭所述第二端口,致使所述用户端无法通过所述第二端口进行远程登陆。
优选地,所述预设的访问密码为一个,则所述服务端将所获取的访问密码与所述预设的访问密码进行比对,若一致,则验证成功,反之,则验证失败。
当验证成功时,所述服务端向所述用户端发出验证成功信息并控制所述第二端口打开,以便所述用户端执行步骤S4。当验证失败时,所述服务端向所述用户端发送验证失败信息,继续关闭所述第二端口,致使其无法通过所述第二端口进行远程登陆。
在步骤S4中,所述用户端在接收到所述服务端的验证成功信息时,通过所述服务端的第二端口进行远程登陆。
具体地,所述用户端接收到所述验证成功信息后,通过所述第二端口向所述服务端传输指令,以便操作所述服务端。
优选地,所述服务端还执行步骤S5。(未予图示)
在步骤S5中,所述服务端在与所述用户端的远程通信断开时,控制所述第二端口关闭。
例如,当所述用户主动操作所述用户端断开与所述服务端的远程通信、或者所述服务端长时间未接收到所述用户端的操作指令,则认定与所述用户端的远程通信断开,所述服务端调用相应的端口处理函数来关闭所述第二端口。
实施例二
如图2所示,本发明还提供一种用户端远程登陆服务端的方法。所述远程登陆的方法包括:步骤S1’、S2’、S3’、S4’和S5’。
在步骤S1’中,所述用户端基于用户的远程登陆操作向所述服务端的第一端口发出远程登陆的启动指令。
例如,当用户点击所述用户端的远程登陆图标时,所述用户端自动向所述第一端口发出一空的、或者包含请求信息的启动指令。
在步骤S2’中,所述服务端在接收到所述启动指令时,将预设的访问密码以预设的方式发送至所述用户端。
在此,所述预设的访问密码可以为固定值,也可以为随机产生的文字、字符、数字、字母及其组合等。例如,所述预设的访问密码为随机产生的4位16进制数。
在此,所述预设的方式包括但不限于:以图片的形式、以加密的形式等。
例如,所述服务端将随机产生的访问密码绘制成一张图片并发送至所述用户端,以便使用所述用户端的用户根据所述图片输入相应的访问密码。
在步骤S3’中,所述用户端将来自所述服务端的访问密码予以显示,并获取所述用户输入的访问密码。
具体地,所述用户端将所述步骤S2’中的访问密码显示给所述用户,并提示所述用户输入所显示的访问密码,当所述用户输入完成后,获取所输入的访问密码并继续执行。
例如,所述用户端接收到图片形式的访问密码,则显示相应的图片,并提示所述用户输入所显示的访问密码,当所述用户输入完成后,获取所输入的访问密码并继续执行。
又如,所述用户端接收到加密的访问密码,则先予以解密,并将解密后的访问密码予以显示,再在所述用户输入完成后,获取所输入的访问密码并继续执行。
在步骤S4’中,所述用户端将所输入的访问密码发送至所述第一端口,以便所述服务端进行验证。
在步骤S5’中,所述服务端验证所述访问密码,当验证成功时,向所述用户端发出验证成功信息并控制所述服务端的第二端口打开,以便允许所述用户端进行远程登陆。
需要说明的是,本领域技术人员应该理解,所述步骤S4’和S5’与所述实施例一中的步骤S2和S3的执行方式相同或相似,在此不再详述。
优选地,所述服务端还执行步骤S6’(未予图示)。
在步骤S6’中,所述服务端在与所述用户端的远程通信断开时,控制所述第二端口关闭。
需要说明的是,本领域技术人员应该理解,所述步骤S6’与实施例一中的步骤S5的执行方式相同或相似,在此不再详述。
实施例三
如图3所示,本发明提供一种用户端远程登陆服务端的系统。其中,所述用户端包括但不限于:手机、个人电脑、平板电脑等。所述服务端包括但不限于:网络主机、单个网络服务器、多个网络服务器集或多个服务器等。所述服务端中设有一私有端口(即第一端口),用来在所述用户端进行远程登陆前,与所述用户端进行验证通信。所述服务端还设有第二端口(例如,端口号为23的端口),用于开放给所述用户端进行远程登陆及远程操作。其中,所述第二端口在没有用户端进行远程登陆时,为关闭状态,同时,所述服务端实时的监听所述第一端口。
在所述服务端中包含:第一模块11、第三模块13。所述用户端对应包含:第二模块12和第四模块14。
所述第二模块12用于基于用户的远程登陆操作将访问密码发送至服务端的第一端口,以便所述服务端进行验证。
具体地,当用户点击所述用户端中的远程登陆图标时,所述第二模块12中的第二一子模块可以弹出一对话框,并提示所述用户输入访问密码,当用户输入完并点击完成时,所述第二模块12中的第二二子模块将所输入的访问密码发送至所述第一端口。其中,所述访问密码可以为任意的文字、字母、数字、符号及其组合。优选地,所述访问密码为对应128位的二进制数。例如,所述访问密码为:0x21A2、2876、0987、2346、98BF、9854、1238、或A8D6等。
为了安全,所述访问密码可以内置在所述第二模块12,只要用户启动远程登陆,所述第二模块12就自动的将所存的访问密码发送至所述第一端口。
所述第一模块11用于监听所述第一端口,并获取来自用户端的访问密码。
具体地,所述第一模块11通过监听http协议、https协议等封包,获取来自用户端的访问密码。
所述第三模块13用于验证所述访问密码是否成功,若验证成功,则向所述用户端发出验证成功信息并控制所述第二端口打开,以便允许所述用户端进行远程登陆,反之,则继续关闭所述第二端口。
其中,所述预设的访问密码可以仅为一个,也可以为多个。例如,所述第三模块13为每个用户端或用户对应设置一访问密码。
在此,所述验证成功信息可以是布尔值“true”或用数值1来表示。同样,当验证失败时,所述第三模块13可以发送验证失败信息。所述验证失败信息可以是布尔值“false”或者数值“0”。
具体地,所述第三模块13将所获取的访问密码与所述预设的各访问密码进行匹配,若找到相一致的,则验证成功,向所述用户端发出验证成功信息并控制所述第二端口打开,以便所述用户端的远程登录模块予以执行;反之,则验证失败,关闭所述第二端口,致使所述用户端的第四模块14无法通过所述第二端口进行远程登陆。
优选地,所述预设的访问密码为一个,则所述第三模块13将所获取的访问密码与所述预设的访问密码进行比对,若一致,则验证成功,反之,则验证失败。
当验证成功时,所述第三模块13向所述用户端发出验证成功信息并控制所述第二端口打开,以便所述用户端的第四模块14予以执行。当验证失败时,所述第三模块13向所述用户端发送验证失败信息,继续关闭所述第二端口,致使所述第四模块14无法通过所述第二端口进行远程登陆。
优选地,所述第三模块13还用于在与所述用户端的远程通信断开时,控制所述第二端口关闭。
例如,当所述用户主动操作所述用户端断开与所述服务端的远程通信、或者所述服务端长时间未接收到所述用户端的操作指令,则认定与所述用户端的远程通信断开,所述第三模块13调用相应的端口处理函数来关闭所述第二端口。
所述第四模块14用于在接收到所述服务端的验证成功信息时,通过所述服务端的第二端口进行远程登陆。
具体地,所述第四模块14接收到所述验证成功信息后,通过所述第二端口向所述服务端传输指令,以便操作所述服务端。
实施例四
本发明还提供一种用户端远程登陆服务端的系统。所述远程登陆系统中的服务端包括:第一模块11’、第三模块13’。所述用户端包括:第二模块12’、第四模块14’。其中,所述第二模块12’包括:第二一子模块121’和第二二子模块122’。
所述第二模块12’用于基于用户的远程登陆操作向所述服务端的第一端口发出远程登陆的启动指令。
例如,当用户点击所述用户端的远程登陆图标时,所述第二模块12’自动向所述第一端口发出一空的、或者包含请求信息的启动指令。
所述第一模块11’用于在接收到所述启动指令时,将预设的访问密码以预设的方式发送至所述第二模块12’。
在此,所述预设的访问密码可以为固定值,也可以为随机产生的文字、字符、数字、字母及其组合等。例如,所述预设的访问密码为随机产生的4位16进制数。
在此,所述预设的方式包括但不限于:以图片的形式、以加密的形式等。
例如,所述第一模块11’将随机产生的访问密码绘制成一张图片并发送至所述第二模块12’,以便使用所述用户端的用户根据所述图片输入相应的访问密码。
所述第二一子模块121’用于将来自所述第一模块11’的访问密码予以显示,并获取所述用户输入的访问密码。
具体地,所述第二一子模块121’将来自所述第一模块11’的访问密码显示给所述用户,并提示所述用户输入所显示的访问密码,当所述用户输入完成后,获取所输入的访问密码并继续执行。
例如,所述第二一子模块121’接收到图片形式的访问密码,则显示相应的图片,并提示所述用户输入所显示的访问密码,当所述用户输入完成后,获取所输入的访问密码并继续执行。
又如,所述第二一子模块121’接收到加密的访问密码,则先予以解密,并将解密后的访问密码予以显示,再在所述用户输入完成后,获取所输入的访问密码并继续执行。
所述第二二子模块122’用于将所输入的访问密码发送至所述第一端口,以便所述服务端进行验证。
所述第三模块13’用于验证所述访问密码,当验证成功时,向所述用户端发出验证成功信息并控制所述服务端的第二端口打开,以便允许所述用户端进行远程登陆。
需要说明的是,本领域技术人员应该理解,所述第二二子模块122’和第三模块13’分别与所述实施例三中的第二模块12和第三模块13的执行方式相同或相似,在此不再详述。
优选地,所述第三模块13’还用于在与所述用户端的远程通信断开时,控制所述第二端口关闭。
需要说明的是,本领域技术人员应该理解,所述第三模块13’与实施例三中的第三模块13的执行方式相同或相似,在此不再详述。
综上所述,本发明的用户端远程登陆服务端的方法及系统,通过在服务端与用户端远程通信前设置验证访问密码的关卡,能有效克服服务端的第二端口公开、且登陆的用户名和密码为明文的不安全性;另外,由服务端将访问密码以图片或加密的方式提供给用户端,能够有效预防黑客盗取访问密码的漏洞;还有,在用户端与服务端断开远程通信时,关闭所述第二端口,能进一步防止服务端被任意访问的情况发生。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。