Day 49/100 客户端免密登录服务器的原理

(一)需求

被问到,免密登录原理,没答对,发现光配置成功还不行,还需要理解原理。这里小结记录下。

(二)介绍

SSH为 Secure Shell的简写。是简历在应用层基础上的安全协议。

1、SSH登录类型:

  • 密码登录;
  • 证书登录;
免密登录,属于证书登录;

2、SSH认证流程是什么

Day 49/100 客户端免密登录服务器的原理_第1张图片

3、随机数R在哪里生成?

在服务端生成。

4、服务端放的是公钥还是私钥?

公钥。

5、哪里使用到了非对称加密?

使用公钥在服务端生成的随机数R加密,生成pubKey(R)。
返回客户后,使用私钥解密pubKey(R)得到随机数,这里是非对称加密。

6、会话ID(Session Key)在哪里生成?

在客户端生成。会结合从服务端解密出来的随机数R来加密。
使用MD5对R和Session Key 来加密 得到Digest1。

7、服务端如何确认?

服务端同样使用MD5对R和SessionKey 进行加密,得到摘要Digest2.
如何传输过来的Digest1进行对比来确认一致。

A session key is an encryption and decryption key that is randomly generated to ensure the security of a communications session between a user and another computer or between two computers. Session keys are sometimes called symmetric keys, because the same key is used for both encryption and decryption. A session key may be derived from a hash value, using the CryptDeriveKey function (this method is called a session-key derivation scheme). Throughout each session, the key is transmitted along with each message and is encrypted with the recipient's public key. Because much of their security relies upon the brevity of their use, session keys are changed frequently. A different session key may be used for each message.
会话密钥是随机生成的加密和解密密钥,用于确保用户与另一台计算机或两台计算机之间通信会话的安全性。会话密钥有时被称为对称密钥,因为相同的密钥用于加密和解密。会话密钥可以使用CryptDeriveKey函数从哈希值派生(这种方法称为会话密钥派生方案)。在每个会话中,密钥随每条消息一起传输,并使用接收方的公钥进行加密。由于它们的安全性很大程度上依赖于使用的简洁性,因此会话密钥会频繁更改。每个消息可能使用不同的会话密钥。

8、RSA算法的定义什么

RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。 在RAS算法中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。 加密算法E和解密算法D也都是公开的。2019年10月8日
加密: 密文=明文EmodN密文=明文EmodN
解密: 明文=密文DmodN明文=密文DmodN
私鑰: (D,N)
密鑰對: (E,D,N)

9、如何实现免密登录?

之前我写过一篇博客了,这里贴下链接:
https://segmentfault.com/a/11...

参考链接

https://blog.51cto.com/u_1532...

写在最后的话

学习路上,常常会懈怠。

《有想学技术需要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy...

如果有需要的伙伴,可以加我微信:learningisconnecting
或者可以关注我的公众号:国星聊成长(我会分享成长的方法)

你可能感兴趣的:(前端linuxssh)