5.1. Responses to Authentication Requests (对认证请求的响应)
如果服务器拒绝认证请求, 它必须响应以下消息:
byte SSH_MSG_USERAUTH_FAILURE
name-list authentications that can continue
boolean partial success
'authentications that can continue' 是一个逗号分隔的认证 'method name' 值的名称列表, 这些值可能有效地继续认证对话。
推荐服务器只在名称列表中包含那些实际有用的 'method name' 值。但是, 包含不能用于认证用户的 'method name' 值并非非法。
已经成功完成的认证不应包含在名称列表中, 除非出于某种原因应该再次执行。
如果此响应所针对的认证请求成功, 则 'partial success' 的值必须为 TRUE。如果请求未成功处理, 则必须为 FALSE。
当服务器接受认证时, 它必须响应以下消息:
byte SSH_MSG_USERAUTH_SUCCESS
请注意, 这不是在多方法认证序列的每一步之后发送的, 而是仅在认证完成时发送。
客户端可以发送多个认证请求而不等待先前请求的响应。服务器必须用 SSH_MSG_USERAUTH_FAILURE 消息确认任何失败的尝试。但是, SSH_MSG_USERAUTH_SUCCESS 只能在认证完成时发送一次。SSH_MSG_USERAUTH_SUCCESS 消息只能在认证成功时发送 (所有必需的方法都已成功使用)。
客户端在导致发送 SSH_MSG_USERAUTH_SUCCESS 的请求之后发送的任何非认证消息必须传递给运行在此协议之上的服务。此类消息可以通过其消息编号来识别 (参见第 6 节)。