一种远程登录方法及装置与流程

文档序号:12494154阅读:341来源:国知局
一种远程登录方法及装置与流程

本发明涉及计算机应用技术领域,特别涉及一种远程登录方法及装置。



背景技术:

ssh(secure shell,安全外壳协议),由IETF的网络小组(network working group)所制定,ssh为建立在应用层基础上的安全协议。ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效地防止远程管理过程中的信息泄露问题。shh最初是unix系统上的一个程序,后来又迅速扩展到其他操作平台,ssh在正确使用时可弥补网络中的漏洞。



技术实现要素:

本发明提供一种远程登录方法及装置,用以实现快速、灵活地进行远程登录的目的。

本发明提供一种远程登录方法,包括:

在客户端上创建公钥以及其对应的私钥;

将创建的所述公钥上传至远程服务器;

当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。

在本发明一实施例中,所述在客户端上创建公钥以及其对应的私钥,包括:

在所述客户端上执行指定命令,生成包含公钥的公钥文件和包含私钥的私钥文件。

在本发明一实施例中,所述客户端通过shh方式登录所述远程服务器,所述指定命令包括ssh-keygen-t rsa。

在本发明一实施例中,所述将创建的所述公钥上传至远程服务器,包括:

将生成的包含公钥的公钥文件上传到所述远程服务器的指定文件中。

在本发明一实施例中,将所述私钥添加到shh代理中,所述向所述远程服务器发送包含所述私钥的登录请求,包括:

由所述shh代理向所述远程服务器发送包含所述私钥的登录请求。

本发明还提供一种远程登录装置,包括:

创建模块,用于在客户端上创建公钥以及其对应的私钥;

上传模块,用于将创建的所述公钥上传至远程服务器;

登录模块,用于当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。

在本发明一实施例中,所述创建模块还用于:

在所述客户端上执行指定命令,生成包含公钥的公钥文件和包含私钥的私钥文件。

在本发明一实施例中,所述客户端通过shh方式登录所述远程服务器,所述指定命令包括ssh-keygen-t rsa。

在本发明一实施例中,所述上传模块还用于:

将生成的包含公钥的公钥文件上传到所述远程服务器的指定文件中。

在本发明一实施例中,将所述私钥添加到shh代理中,所述登录模块还用于:由所述shh代理向所述远程服务器发送包含所述私钥的登录请求。

在本发明实施例中,在客户端上创建公钥以及其对应的私钥;将创建的所述公钥上传至远程服务器;当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。由此可见,本发明实施例能够实现快速、灵活地进行远程登录的目的。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明一实施例中远程登录方法的流程图;

图2为本发明另一实施例中远程登录方法的流程图;以及

图3为本发明一实施例中远程登录装置的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示为本发明一实施例中远程登录方法的流程图,该方法可以包括以下步骤S11-S13。

步骤S11,在客户端上创建公钥以及其对应的私钥。

在该步骤中,可以在客户端上执行指定命令,生成包含公钥的公钥文件(~/.ssh/id_rsa.pub)和包含私钥的私钥文件(~/.ssh/id_rsa)。进一步地,客户端通过shh方式登录远程服务器,指定命令包括ssh-keygen-t rsa,并且每次执行ssh-keygen-t rsa产生的私钥文件都会不同。

a)如果文件"~/.ssh/id_rsa"存在,会提示是否覆盖该文件,此时可选择"n"不覆盖该文件而使用已有的id_rsa文件;如果选择"y"则会重新生成"~/.ssh/id_rsa"文件,接下来会提示输入passphrase,回车确定使用空的passphrase,再次回车确认(这里也可以输出passphrase,相当于ssh时登录的密码)。然后会重新生成"~/.ssh/id_rsa"文件和"~/.ssh/id_rsa.pub"文件。

b)如果"~/.ssh/id_rsa"文件和"~/.ssh/id_rsa.pub"文件不存在则会自动创建新的"~/.ssh/id_rsa"文件和"~/.ssh/id_rsa.pub"文件,passphrase设置同上。

步骤S12,将创建的公钥上传至远程服务器。

在该步骤中,可以将生成的包含公钥的公钥文件上传到远程服务器的指定文件中。例如,可以使用ssh miao@192.168.1.112登录到远程服务器,编辑远程服务器上"~/.ssh/authorized_keys"文件,将客户端机器上的"~/.ssh/id_rsa.pub"文件内容追加到"~/.ssh/authorized_keys"文件中。如果是首次连接远程服务器会出现以下的提示,确认连接并输入密码后其他直接回车确定。

步骤S13,当客户端需要登录远程服务器时,向远程服务器发送包含私钥的登录请求,以在远程服务器上利用私钥与公钥进行匹配,在匹配成功时完成登录。

如果在步骤S11中使用了空的passphrase,则可以在客户端即可以使用"ssh miao@192.168.1.112"即可无密码登录到远程服务器;如果步骤S11中设置了passphrase,则此时需要输入该passphrase登录远程服务器,可以通过shh代理(ssh-agent)来帮助自动输入passphrase,只需要在第一次登录时输入一次passphrase,以后的工作就可以交给ssh-agent。在客户端机器上执行命令ssh-add,这里会提示输入一次passphrase。输入第一步中设置的passphrase之后会修改"~/.ssh/id_rsa"文件。再在客户端执行"ssh miao@192.168.1.112"即可无密码登录到远程服务器端。

在本发明实施例中,在客户端上创建公钥以及其对应的私钥;将创建的所述公钥上传至远程服务器;当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。由此可见,本发明实施例能够实现快速、灵活地进行远程登录的目的。

下面通过一具体实施例来详细介绍本发明的远程登录方法的实现过程。在该实施例中,客户端的IP地址为192.168.1.110,远程服务器的IP地址为192.168.1.112。

如图2所示为本发明另一实施例中远程登录方法的流程图,该方法可以包括以下步骤S21-S24。

步骤S21,在客户端上创建公钥以及其对应的私钥。

在该步骤中,可以在客户端上执行指定命令,生成包含公钥的公钥文件(~/.ssh/id_rsa.pub)和包含私钥的私钥文件(~/.ssh/id_rsa)。进一步地,客户端通过shh方式登录远程服务器,指定命令包括ssh-keygen-t rsa,并且每次执行ssh-keygen-t rsa产生的私钥文件都会不同。具体地,创建代码如下:

miao@u32-192-168-1-110:~/.ssh$ssh-keygen-t rsa

Generating public/private rsa key pair.

Enter passphrase(empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in/home/miao/.ssh/id_rsa.

Your public key has been saved in/home/miao/.ssh/id_rsa.pub.

步骤S22,将生成的包含公钥的公钥文件上传到远程服务器的指定文件中。

在该步骤中,例如,可以使用ssh miao@192.168.1.112登录到远程服务器,编辑远程服务器上"~/.ssh/authorized_keys"文件,将客户端机器上的"~/.ssh/id_rsa.pub"文件内容追加到"~/.ssh/authorized_keys"文件中。如果是首次连接远程服务器会出现以下的提示,确认连接并输入密码后其他直接回车确定。具体地,上传代码如下:

miao@u32-192-168-1-110:~/.ssh$scp id_rsa.pub

miao@192.168.1.112:/home/miao/.ssh/192.168.1.110

miao@192.168.1.112's password:

id_rsa.pub 100%404 0.4KB/s 00:00

miao@u32-192-168-1-110:~/.ssh$

miao@debian-192-168-1-112:~/.ssh$cat 192.168.1.110>>authorized_keys

miao@debian-192-168-1-112:~/.ssh$

上述代码可以由命令ssh-copy-id来实现:

miao@ubuntu-192-168-1-110:~/.ssh$ssh-copy-id miao@192.168.1.112

Password:

Now try logging into the machine,with"ssh'miao@192.168.1.112'",and check in:.ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.

步骤S23,当客户端需要登录远程服务器时,启动ssh-agent。

如果ssh 192.168.112返回Agent admitted failure to sign using the key,则:

ps-Af|grep agent查看有无ssh-agent有无运行,若没有,则:

miao@u32-192-168-1-110:~/.ssh$ssh-agent.

步骤S24,由ssh-agent向远程服务器发送包含私钥的登录请求,以在远程服务器上利用私钥与公钥进行匹配,在匹配成功时完成登录。

添加id_rsa到ssh-agent,miao@u32-192-168-1-110:~/.ssh$ssh-add id_rsa.

在使用ssh-copy-id错误提示ssh-copy-id:/usr/bin/ssh-copy-id:ERROR:No identities found$ssh-copy-id remote-machine.

如果公钥和私钥已经生成,执行上述命令完毕出现如下错误:

/usr/bin/ssh-copy-id:ERROR:No identities found

g之发现缺少公钥路径,通过-i加上即可:

$ssh-copy-id-i~/.ssh/id_dsa.pub user@remote_ip

设置了.ssh目录,在authorized_keys设置了key后登录还提示需要输入密码,则设置.ssh权限700,authorized_keys权限600,如下:

chmod 700~/.ssh/

chmod 700/home/userName

chmod 600~/.ssh/authorized_keys

本发明实施例能够实现快速、灵活地进行远程登录的目的。

需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。

对应于上述实施例中的远程登录方法,本发明还提供一种远程登录装置。如图3所示为本发明一实施例中远程登录装置的结构示意图,包括:

创建模块31,用于在客户端上创建公钥以及其对应的私钥;

上传模块32,用于将创建的所述公钥上传至远程服务器;

登录模块33,用于当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。

在本发明一实施例中,所述创建模块31还用于:

在所述客户端上执行指定命令,生成包含公钥的公钥文件和包含私钥的私钥文件。

在本发明一实施例中,所述客户端通过shh方式登录所述远程服务器,所述指定命令包括ssh-keygen-t rsa。

在本发明一实施例中,所述上传模块32还用于:

将生成的包含公钥的公钥文件上传到所述远程服务器的指定文件中。

在本发明一实施例中,将所述私钥添加到shh代理中,所述登录模块33还用于:由所述shh代理向所述远程服务器发送包含所述私钥的登录请求。

本发明实施例的上述装置:在客户端上创建公钥以及其对应的私钥;将创建的所述公钥上传至远程服务器;当所述客户端需要登录所述远程服务器时,向所述远程服务器发送包含所述私钥的登录请求,以在所述远程服务器上利用所述私钥与所述公钥进行匹配,在匹配成功时完成登录。由此可见,本发明实施例能够实现快速、灵活地进行远程登录的目的。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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