SSH 秘钥Key的简介以及生成和使用

一、简介

一、SSH key简介
要了解SSH key简介,首先得熟悉SSH,关于ssh可以参考“SSH的初步使用详解”。SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。

1、什么是公钥登录

公钥登录,很多时候也说public key认证,公钥登录的原理:首先用户将自己的公钥存储在需要登录的远程机器上面,然后登录的时候,远程主机会向用户发送一段随机字符串,接着用户使用自己的私钥加密字符串,并发给远程主机。最后,远程主机使用存储的公钥进行解密,若解密成功,则说明用户可信,准许登录,不在提示输入密码。
SSH 秘钥Key的简介以及生成和使用_第1张图片
备注:

1、服务端会将客户端发的公钥写入到~/.ssh/authorized_keys 文件末尾。

2、公钥和私钥在客户端(登录端)生成

2.什么是口令登录

口令登录,即登录的时候需要输入登录密码。

1.客户端向服务器发出请求

2.服务器将自己的公钥返回给客户端;

3.客户端用服务器的公钥加密登录信息, 再将信息发送给服务器;

4.服务器接收到客户端传送的登录信息, 用自己的私钥解码, 如果结果正确, 则同意登录, 建立起连接。

实现原理如下图:
SSH 秘钥Key的简介以及生成和使用_第2张图片
备注:

1、公钥和私钥在服务端生成

二、生成公钥和私钥

ssh-keygen命令,可以生成公钥和私钥,默认生成到用户的家目录下的.ssh文件夹里面

私钥默认会被保存在 ~/.ssh/id_rsa

公钥默认会被保存在 ~/.ssh/id_rsa.pub

命令的格式如下:


ssh-keygen -f fileName -t rsa -C "[email protected]"

参数解析:

-f 指定要生成文件的文件名称

-t 设置认定方式,值为rsa,即非对称加密;或dsa,即数字签名和认证

-c 指定公钥中的备注信息
SSH 秘钥Key的简介以及生成和使用_第3张图片

三、使用公钥登录的案例

现在,我将从ip为192.168.13.143 的机器,以公钥登录的方式,登录到ip为192.168.13.139的机器。

默认情况下,如果不输入密码,是无法登录的,如下:
SSH 秘钥Key的简介以及生成和使用_第4张图片

1、存储公钥

存储公钥,即将192.168.13.143上面生成的公钥,存储在192.168.13.139上面root用户的家目录,如下:
SSH 秘钥Key的简介以及生成和使用_第5张图片
将公钥的内容,追加到192.168.13.139上面root用户家目录下的.ssh/authorized_keys文件中,如果该文件不存在,需要手动创建。

2、重新登录

执行如下命令登录

ssh root@192.168.13.139

SSH 秘钥Key的简介以及生成和使用_第6张图片
可以看到,这次不需要输入密码,即可完成登录了。
更多内容:http://www.findme.wang/blog/detail/id/376.html

你可能感兴趣的:(Linux)