作为一名后端开发,经常会遇到SSH登录,Git提交等事务,而当你有很多服务器的时候使用密码可能不是一个好的选择了,就像我要登录自己的服务器、公司各个环境的服务器,虽然有工具可以帮我们做这些,但我习惯在命令行下操作。
下面我带你了解一下免密登录的原理和如何实现。
A服务器:
A服务器生成公钥和私钥(公A、私A)
将A服务器的公钥授权给B服务器
B服务器:
存储A服务器的公钥(公A)
登录过程:
1.A服务器向B服务器发起登录请求
2.B服务器接收到收到A服务器的登录请求,开始验证身份
出题:随机生成一个数字 1001 通过公A加密,假设加密完后为word 发给A服务器
3.A服务器收到B服务器发来的题
解题:使用私A 解密 将word 解密为1001
4.A服务器将解密完的 1001+会话id ,再次通过MD5加密,加密完后为order ,发送给B服务器
5.B服务器将自己出的题 1001+会话id,通过MD5加密,加密完后为order
6.B服务器将自己加密完的 order 与A服务器最终发送过来的数据进行比对,如果一样,允许免密登录
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595