欢迎光临散文网 会员登陆 & 注册

SSH公钥与私钥原理

2023-05-29 17:49 作者:充电时光  | 我要投稿

一、SSH概述

       SSH是一款常用的远程登录工具,有两种登录方式,一种是输入密码的方式登录,另一种是采用公钥的方式登录。

密码登录
公钥登录

二、密码登录原理

  1. 登录过程

    (1)远程主机收到用户的登录请求,把自己的公钥发给用户

   (2)用户用将公钥将远程主机的登录密码进行加密,并发送给远程主机

(3)远程主机用私钥对用户发过来的密码进行解密,解密出来的密码如果正确在允许远程登录。

2.什么是公钥

首次登录是会有一下提示:

[root@compute01 ~]# ssh 192.168.0.10

The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.

ECDSA key fingerprint is SHA256:hiNCg0JXmqfxqU2ePhpldLnA6hnkxlrsMCdAnb9q3PU.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.0.10' (ECDSA) to the list of known hosts.

这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

公钥是采用ECDSA、RSA等算法的出来的一串数值。


二、免密登录原理

  1. 登录过程

    (1)通过ssh-keygen命令生成密钥对,id_rsa为密钥,id_ras.pub为公钥

(2)将公钥发送给远程主机,存在远程主机/root/.ssh/authorized_keys 文件中


(3)远程主机收到公钥后,会生成一个随机数R,并将这个随机数用收到的公钥加密,并将加密后的随机数(注意这里不用户密码)发送用户。

(3)用户解密出随机数并用MD5算法将个随机数和本次会话密钥(session kye)生成一个摘要Digest1,并发送给远程主机,远程主机也会将随机数和本次会话密钥生成一个摘要Digest2

(4)远程主机对比Digest1与Digest2,如果相同则完成远程登录


SSH公钥与私钥原理的评论 (共 条)

分享到微博请遵守国家法律