什么是ssh?
SSH是一种网络协议,用于计算机,服务器之间的加密登陆,从一台计算机(服务器)可以使用ssh协议登陆另外一台远程计算机(服务器),既有商业实现也有开源实现,这里说的是Linux Shell的用法,如果windows想用SSH,会使用另外一种软件Putty。
SSH是安全的,使用了公钥加密。SSH使用的是DH密钥交换算法(有几种交换方式,具体百度吧,看了一遍晕头转向的。。。)
SSH的中间人攻击:
SSH的过程: 1)远程主机收到用户的登陆请求,把自己的公钥发给用户。
2)用户使用这个公钥,将登陆密码加密,发回来。
3)远程主机使用自己的私钥,解密登陆密码,如果登陆密码正确就同意登陆。
这个过程瞅着是安全的,但是如果有人截取了登陆请求,然后冒充远程主机,将伪造的公发给用户,用户就难便被真伪因为证书是自己的签发的。
SSH的TOFU模型解决中间人攻击。
TOFU模型类似于hhtps证书,首次访问提示风险。让用户确认或者离开,如果用户确认了,并添加到网站证书到信任链表,之后访问都不会再提示,连接是安全的。