【问题标题】:Why are SSH_MSG_USERAUTH_CHANGEREQ and SSH_MSG_USERAUTH_PK_OK the same value?为什么 SSH_MSG_USERAUTH_CHANGEREQ 和 SSH_MSG_USERAUTH_PK_OK 的值相同?
【发布时间】: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 方法使用第二个值来告诉客户端他们的密码已过期或密码更改尝试不可接受(密码太短等)。鉴于这两种消息类型具有相同的值并由服务器返回,客户端应该如何区分这两种消息之间的区别?

如果客户端同时使用publickeypassword 方法启动身份验证,并收到一条或两条消息代码为60 的消息,客户端的预期行为是什么?还是协议不允许多个并发的不同身份验证方法尝试?

相关 RFC 的链接:https://www.ietf.org/rfc/rfc4252.txt

【问题讨论】:

    标签: ssh rfc


    【解决方案1】:

    后者。客户端依次尝试其授权方法。客户端可以不等待就批量发送一堆授权请求,但是服务器会按照发送的顺序依次回复。

    【讨论】:

    • 我相信你,但你能链接到 RFC 中说服务器必须按顺序响应身份验证请求的相关部分吗?
    • "5.1 客户端可以发送多个身份验证请求,而无需等待先前请求的响应。服务器必须完全处理每个请求,并在处理下一个请求之前使用 SSH_MSG_USERAUTH_FAILURE 消息确认任何失败的请求。"跨度>
    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 2011-09-28
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多