Answers:
协议中没有定义最大密钥大小或超时(或者至少没有达到您的要求),但是实现可能不支持这么长的密钥。对于17kbit RSA密钥,使用私钥的20秒处理时间听起来并不高。然后,服务器可能不希望在未经身份验证的用户身上花费过多的计算能力:拒绝很大的密钥可以防止DoS攻击。
目前,对于RSA密钥,认为2048位是合理的。4096位比必需的高,但通常受支持;除此之外,如果某些程序拒绝密钥,您也不会感到惊讶。
您是否能够在预期的目标系统上生成该大小的密钥?您可能会遇到限制所支持的内容。我的当前Centos系统最多支持16k的最大值,这似乎足以应付大量的密钥。如果您尝试使用ssh-keygen超过最大值,则应该看到最大值,如下所示。
[nathan@omni ~]# ssh-keygen -t rsa -b 32768
key bits exceeds maximum 16384
openssh服务器具有LoginGraceTime设置。从手册页:
The server disconnects after this time if the user has not suc-
cessfully logged in. If the value is 0, there is no time limit.
The default is 120 seconds.
如果将其设置为20秒,则可能是达到的极限。
疯狂的猜测:腻子本身也可能有此限制,以为如果客户端对公钥身份验证的处理花费了这么长时间,那肯定是错误的。