9.1. SSH Transport (SSH传输)
9.1 SSH Transport (SSH传输)
要通过SSH运行, 客户端路由器首先使用SSHv2传输协议建立SSH传输连接, 客户端和服务器交换用于消息完整性和加密的密钥。然后, 客户端调用"ssh-userauth"服务来验证应用程序, 如SSH身份验证协议[RFC4252]中所述。一旦应用程序已成功验证, 客户端就会调用"ssh-connection"服务, 也称为SSH连接协议。
在建立ssh-connection服务后, 客户端打开类型为"session"的通道, 这会产生一个SSH会话。
一旦建立了SSH会话, 应用程序就会将应用程序传输作为名为"rpki-rtr"的SSH子系统调用。子系统支持是SSHv2的一个功能, SSHv1中不包含此功能。将此协议作为SSH子系统运行可避免应用程序需要识别shell提示符或跳过无关信息, 例如在shell启动时发送的系统消息。
假设路由器和缓存已经通过某种合理安全的方式在带外交换了密钥。
支持SSH传输的缓存服务器必须接受RSA身份验证, 并且应该接受椭圆曲线数字签名算法(ECDSA)身份验证。必须支持用户身份验证; 可以支持主机身份验证。实现可以支持密码身份验证。客户端路由器应该验证缓存的公钥以避免MITM攻击。