似乎如果横幅消息的长度超过一定限制,则根本不会向客户端显示任何横幅。字符或文件大小限制是多少?
答案1
这协议规范没有设置任何明确的限制。
我想在服务器和客户端中确实存在限制,并且两者都依赖于实现而不是任何标准,并且需要测试来验证。
5.4.横幅留言
在某些司法管辖区,在身份验证之前发送警告消息可能与获得法律保护有关。例如,许多 UNIX 机器通常显示 /etc/issue 中的文本,使用 TCP 包装器或类似软件在发出登录提示之前显示横幅。
SSH服务器可以在该认证协议启动之后、认证成功之前的任何时间发送SSH_MSG_USERAUTH_BANNER消息。此消息包含在尝试身份验证之前向客户端用户显示的文本。格式如下:
byte SSH_MSG_USERAUTH_BANNER
string message in ISO-10646 UTF-8 encoding [RFC3629]
string language tag [RFC3066]
默认情况下,客户端应该在屏幕上显示“消息”。然而,由于每次登录尝试都可能发送“消息”,并且由于某些客户端软件需要为此警告打开单独的窗口,因此客户端软件可能允许用户显式禁用服务器横幅的显示。 “消息”可以由多行组成,其中换行符由 CRLF 对指示。如果显示“message”字符串,则应使用[SSH-ARCH]中讨论的控制字符过滤来避免通过发送终端控制字符进行攻击。