跳到主要内容

4. The Authentication Protocol Framework (认证协议框架)

服务器通过告知客户端在任何给定时间可以使用哪些认证方法来继续交换, 从而驱动认证过程。客户端可以自由地按任何顺序尝试服务器列出的方法。这使得服务器在需要时可以完全控制认证过程, 但也为客户端提供了足够的灵活性, 以便在服务器提供多种方法时使用它支持的方法或对用户最方便的方法。

认证方法由其名称标识, 如 [SSH-ARCH] 中定义。"none" 方法是保留的, 绝对不能列为支持的方法。但是, 它可以由客户端发送。服务器必须始终拒绝此请求, 除非客户端将被授予无需任何认证的访问权限, 在这种情况下, 服务器必须接受此请求。发送此请求的主要目的是从服务器获取支持的方法列表。

服务器应该有认证超时, 如果在超时期间内认证尚未被接受, 则断开连接。推荐的超时期为 10 分钟。此外, 实现应该限制客户端在单个会话中可能执行的失败认证尝试次数 (推荐的限制为 20 次尝试)。如果超过阈值, 服务器应该断开连接。

关于认证超时和重试的其他想法可以在 [ssh-1.2.30] 中找到。