https://www.jianshu.com/p/1ac06bcd8ab5html
https://www.cnblogs.com/lqfxyy/p/5740720.htmlgit
https://blog.csdn.net/sinat_36246371/article/details/79885261安全
https://blog.csdn.net/nbaDWde/article/details/80360836服务器
SSH协议网络
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为创建在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登陆会话和其余网络服务提供安全性的协议。利用 SSH 协议能够有效防止远程管理过程当中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其余操做平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎全部UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其余平台,均可运行SSH。加密
经过使用SSH,你能够把全部传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,并且也可以防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是通过压缩的,因此能够加快传输的速度。SSH有不少功能,它既能够代替Telnet,又能够为FTP、PoP、甚至为PPP提供一个安全的"通道"。.net
从客户端来看,SSH提供两种级别的安全验证。htm
第一种级别(基于口令的安全验证)blog
只要你知道本身账号和口令,就能够登陆到远程主机。全部传输的数据都会被加密,可是不能保证你正在链接的服务器就是你想链接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。it
第二种级别(基于密匙的安全验证)
须要依靠密匙,也就是你必须为本身建立一对密匙,并把公用密匙放在须要访问的服务器上。若是你要链接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求以后,先在该服务器上你的主目录下寻找你的公用密匙,而后把它和你发送过来的公用密匙进行比较。若是两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”以后就能够用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道本身密匙的口令。可是,与第一种级别相比,第二种级别不须要在网络上传送口令。
第二种级别不只加密全部传送的数据,并且“中间人”这种攻击方式也是不可能的(由于他没有你的私人密匙)。