SSH密码和秘钥认证原理

Posted Tao_Runner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH密码和秘钥认证原理相关的知识,希望对你有一定的参考价值。

SSH登录方式主要分为两种:

 

1. 用户名密码验证方式

说明:

  (1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;

  (2) 用户会根据服务器发来的公钥对密码进行加密;

  (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

 

2. 基于密钥的登录方式

 

说明:

  (1) 首先在客户端生成一对密钥(ssh-keygen);

  (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;

  (3) 当客户端再次发送一个连接请求,包括ip、用户名;

  (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;

  (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;

  (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

  (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

以上是关于SSH密码和秘钥认证原理的主要内容,如果未能解决你的问题,请参考以下文章

公钥和秘钥

Linux01机和Linux02机的切换 和秘钥的配置

Linux ssh服务开启秘钥和密码认证

TLS1.3 认证和秘钥建立握手环节的分析

创建TLS证书和秘钥

ssh免秘钥认证-复制