参考资料
一、原理分析
SSH ,全称SecureShell ,中文称为安全外壳协议。百度百科
SSH免密登陆原理图:
ssh免密登陆最常用的一种加密算法是:rsa算法:[百度百科],本篇文章是基于该算法进行免密登陆的。
首先通过原理图可以总结出以下几个要点:(以服务器A SSH免密登陆 服务器B 为例)
- A 生成密钥对,即公钥A和私钥A
- A将自己的公钥A发送给B
- 此时B将公钥A保存在
~/.ssh
下的authorized_keys
文件中 - 当A向B发送ssh远程连接时,A将通过私钥A加密后的数据发送给B
- B接收到数据,首先去
authorized_keys
里查找公钥A,若存在则根据公钥A对数据解密,同时在把数据发给A - A接收到B使用公钥A解密(相对A来说是加密)后的数据,再次使用自身的私钥进行解密,如果和之前发送的数据匹配则建立TCP连接。