SSH(Secure Shell)是基于公钥的安全应用协议,工作在应用层。目前使用SSH2(SSH1因漏洞停用).
(一)SSH子协议
子协议 | 作用 | |
1 | SSH传输层协议 | 提供算法协商和密钥交换,并实现服务器认证,最终形成一个加密安全连接,提供完整性、保密性和压缩选项服务。 |
2 | SSH用户认证协议 | 利用传输层服务来建立连接,使用传统口令认证、公钥认证、主机认证等多种机制认证用户 |
3 | SSH连接协议 | 将已建立的认证连接分解为多种不同的并发逻辑通道,支持注册会话隧道和TCP转发,同时提供流控服务以及通道参数协商机制。 |
注:各协议共同实现加密、认证、完整性检查等安全服务
(二)工作机制
(三)认证服务器公钥真实性方法
(1)用户随身携带含服务器公钥的拷贝,在密钥交换协议前,读入客户计算机
(2)从公开信道下载服务器公钥和它对应指纹后,先通过电话验证服务器公钥指纹真实性,然后用HASH软件生成服务器公钥新指纹,比较两者是否相同
(3)通过PKI技术来验证服务器
(四)应用
用于增强非安全服务,如Telnet、RLogin和FTP。LInux提供的SSH服务端口为22。
SSH在端口转发基础上,能够支持远程登录Telnet、rsh、rlogin、scp等安全服务。
缺点:可能受到中间人攻击和拒绝服务攻击