假设有两台机器,A和B
1.在A中生成一对密钥,公钥和私钥
2.将公钥拷贝给B,重命名为authorized_keys
3.A向B发送连接请求,请求信息包括A的用户名、IP等
4.B收到A的请求信息后,会在authorized_keys文件中查找是否有该请求信息中的用户名、IP等,如果有,则生成一个随机字符串
5.B将使用该公钥将该字符串进行加密,然后发送给A
6.A接收到B返回的消息后,使用私钥对该字符串进行解密
7.A将解密后的字符串发送给B
8.B接收到解密后的字符串后,会将它与之前生成的字符串进行对比,如果一致,则允许A免密登陆B
可以理解为公钥进行字符串的加密,私钥进行字符串的解密,若解密后的数据与元数据一致,则说明该密钥是一对的
原文:https://www.cnblogs.com/JoshWill/p/13032872.html