【发布时间】:2017-03-13 20:58:43
【问题描述】:
阅读关于 SSHv2 服务 ssh-userauth 的 RFC 我发现两种消息类型似乎具有相同的值,但用于不同(但相似)的情况。
这两个值是:
SSH_MSG_USERAUTH_PK_OK 60 # RFC 4252 section 7
SSH_MSG_USERAUTH_CHANGEREQ 60 # RFC 4252 section 8
这些值在用户身份验证期间使用,首先由publickey auth 方法使用公钥确认正确的身份验证。 password auth 方法使用第二个值来告诉客户端他们的密码已过期或密码更改尝试不可接受(密码太短等)。鉴于这两种消息类型具有相同的值并由服务器返回,客户端应该如何区分这两种消息之间的区别?
如果客户端同时使用publickey 和password 方法启动身份验证,并收到一条或两条消息代码为60 的消息,客户端的预期行为是什么?还是协议不允许多个并发的不同身份验证方法尝试?
相关 RFC 的链接:https://www.ietf.org/rfc/rfc4252.txt
【问题讨论】: