阅读关于SSHv2服务的RFC ssh-userauth
我发现了两种似乎具有相同值但在不同(但相似)情况下使用的消息类型。
这两个值是:
SSH_MSG_USERAUTH_PK_OK 60 # RFC 4252 section 7
SSH_MSG_USERAUTH_CHANGEREQ 60 # RFC 4252 section 8
这些值在用户身份验证期间使用,第一个是publickey
身份验证方法,以使用公钥确认正确的身份验证。 password
auth方法使用第二个值告诉客户端密码已过期或密码更改尝试不可接受(密码太短等等)。鉴于这两种消息类型具有相同的值并由服务器返回,客户端应该如何区分这两种消息?
如果客户端使用publickey
和password
方法启动身份验证,并收到一条或两条消息代码为60
的消息,那么客户端的预期行为是什么?或者是协议不允许多个并发的不同auth方法尝试?
指向相关RFC的链接:https://www.ietf.org/rfc/rfc4252.txt
答案 0 :(得分:1)
后者。客户端按顺序尝试其授权方法。客户端可以批量处理并发送一堆授权请求而无需等待,但服务器将按照发送顺序依次回复它们。