SSH原理
密码登录
客户端向服务端发起登录请求,我们的客户端先发出连接请求,请求信息中包括客户端的用户名、ip等,服务器端收到请求后,会在known_hosts文件中查找是否有该请求中的用户名、ip等,如果没有,则服务器随机生成一对秘钥,把公钥发给客户端
客户端用公钥加密自己的认证信息,发送到服务端
服务端用私钥解密客户端发来的认证信息,匹配则登录成功,否则失败
免密登陆
对于免密登陆,我们要了解的是,免密登陆是借助一对密钥来登陆的,密钥分为公钥和私钥,公钥用来加密,私钥用来解密
客户端向服务端发起登录请求,我们的客户端先发出连接请求,请求信息中包括客户端的用户名、ip等,服务器端收到请求后,会在known_hosts文件中查找是否有该请求中的用户名、ip等,如果有,服务端利用客户端的公钥加密一段随机文本发送给客户端
客户端利用私钥解密,将解密内容发送到服务端,服务端对比解密的内容是否正确,正确建立连接,否则拒绝连接
那么客户端将自己的公钥通过安全的手段传输到服务端,就可以完成免密登录
known_hosts
