1. SSH 协议分层架构
SSH 协议栈分为三层,每层负责不同功能,各层之间通过严格接口通信:
-
传输层协议(Transport Layer Protocol)
- 功能:建立安全加密通道,处理密钥交换、主机认证、数据加密/完整性保护。
- 关键流程:
- 协议版本协商
- 密钥交换(Diffie-Hellman 或 ECDH)
- 加密算法协商(如 AES-GCM)
- 源码定位:
kex.c
(密钥交换)packet.c
(数据包加密)cipher.c
(加密算法实现)
-
用户认证协议(User Authentication Protocol)
- 功能:验证客户端用户身份,支持公钥、密码、键盘交