SSH采用Trust On First Use方式避免中间人攻击,保存主机公钥后,以后连接无需再次确认。如果主机公钥改变或者受到中间人攻击,连接时主机公钥会校验不通过,出现REMOTE HOST IDENTIFICATION HAS CHANGED警告。本文介绍解决该问题的办法。
https引入CA的概念,目的就是防止中间人攻击。顺着这条路,想到SSH协议和Shadowsocks是如何防止中间人攻击的?上网查了一下SSH的知识,并梳理了SS的运行原理,这两个都有了答案。