ssh免密登录原理与实现学习笔记

306 阅读2分钟

转自

juejin.cn/post/684490…

认识ssh

secure shell, 是怎么保证secure的呢?ssh是通过加密算法将需要传输的数据进行处理后,通过TCP传输,在两端之间通过密文交互达到安全目的,所以它的本质即数据的加密。

SSH在目前一共有两个不兼容的版本,区别在于各自采用的加密方式不相同。SSH1使用了在加密对称加密秘钥的时候使用了非对称加密算法(RSA), 使用了循环冗余校验码(CRC)来保证传输数据的完整。SSH2则使用了新的对称加密算法和替代RSA加密秘钥的算法,并且使用散列值(HMAC)算法替代CRC来保证传输数据的完整。

ssh认证

ssh认证有两种方式:

  • 账号密码登录:即你需要连接的远程服务器某一个用户与密码,比较常用,也比较简单
  • 公钥验证授权登录: 这一种认证较为复杂,但是配置好后其后续操作将十分便捷,本次也主要梳理该种认证方式原理及其流程

免密登录

1.免密登录的本质是什么?

如果将输入密码登录比作拿钥匙开门,那么免密登录可以理解为刷脸或者刷指纹开门,而刷脸和录指纹的操作便是你在此之前已经在开门认证的可信任数据库中录下来,在录下来之后才体会到开门不用钥匙便捷。所以,免密登录的前提就是远端的服务器能够认识你的机器,而你的机器“刷脸”(免密)进门就需要把它的“脸”(公钥)放到远端的服务器的可信列表里。

2.免密登录的实现