1、概念 SSH的英文全称为Secure Shell,是IETF(Internet Engineering Task Force)的Network Working Group 所制定的一族协议,其目的是要在非安全网络上提供安全的远程登录和其他安全网络服务。 2、基本框架 SSH 协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连接协议。同时 SSH 协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用如下图 1 来表示: 图 1 SSH 协议的层次结构示意图 在 SSH 的协议框架中,传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性 等的支持;用户认证协议(The User Authentication Protocol) 则为服务器提供客户端的身份鉴别;连接协议(The Connection Protocol) 将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用;各种高层应用协议可以相对地独立于SSH 基本体系之外,并依靠这个基本框架,通过连接协议使用 SSH 的安全机制。 3、主机密钥机制 对于SSH 这样以提供安全通讯为目标的协议,其中必不可少的就是一套完备的密钥机制。由于SSH 协议是面向互联网网络中主机之间的互访与信息交换,所以主机密钥成为基本的密钥机制。也就是说,SSH 协议要求每 一个使用本协议的主机都 必须 至 少有 一个自 己 的主机密钥对,服务方 通过对客户方 主机密钥的认证之后 ,才 能 允 许其连接请 求。一个主机可以使用多个密钥,针 对不同的密钥算 法 而 拥 有 不同的密钥,但 是至 少有 一种是必备的,即 通过DSS 算 法 产 生 的密钥。关于DSS 算 法 ,请 参 考 [FIPS-186]。 SSH 协议关于主机密钥认证的管理方案有两种,如下图2 所示: 图2 SSH 主机密钥管理认证方案示意图 每一个主机都必须有自己的主机密钥,密钥可以有多对,每一对主机密钥对包括公开密钥和私有密钥。在实际应用过程中怎样使用这些密钥,并依赖它们来实现安全特性呢?如上图所示,SSH 协议框架中提出了两种方案。 在第一种方案中,主机将自己的公用密钥分发给相关的客户机,客户机在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据,从而实现主机密钥认证,确定客户机的可靠身份。在图2(a)中可以看到,用户从主机A 上发起操作,去访问,主机B 和主机C,此时,A 成为客户机,它必须事先配置主机B 和主机C 的公开密钥,在...