简介:
SSH(Secure Shell)由IETF网络小组所指定,是建立在应用层基础上的网络协议,是目前较为可靠的开源程序,应用非常广泛。
SSH、FTP、telnet比较:
——SSH和telnet都是基于ftp/ip协议,进行远程登录另一台主机
——telnet是明文传送,端口号为23,SSH是密文传送,支持压缩,端口号为22.
——ssh使用公钥对访问的服务器的用户验证身份,进一步提高的安全性;telnet没有使用公钥
加密流程:
- Client端将公钥添加至Server端的Authorized_key中
- Client端向Server端发起logging request
- Server端收到请求后,生成随机数R,并使用Authorized_key中的公钥将其加密,并发送至Client端
- Client端收到加密的随机数,将其是用自己的私钥进行解密,并和Session_Key用md5进行加密,并发送至Server端
- Server端将随机数R和本地的Session_Key以同种摘要算法加密,进行校验
- 连接成功
层次:
- 传输层协议 提供了服务器认证,保密性和完整性,并提供压缩功能
- 用户认证协议 用于向服务器提供客户端用户鉴别功能,运行在传输层协议之上
- 连接协议 将多个加密隧道分成逻辑通道,运行在用户认证协议之上