OpenSSH : 基于密钥的授权,最大密钥长度

Bar*_*ter 10 ssh authentication rsa

我在 Windows 上使用 Putty 和基于密钥的身份验证来访问我的一些服务器。

它使用 ~3700 位密钥完全正常,但使用 ~17000 位密钥,它会在客户端思考 20 秒,然后只是说“拒绝访问”并要求输入密码。

OpenSSH 中是否有用于基于密钥的身份验证的密钥长度限制或超时?

我知道使用这么大的键没有多少实际意义,尤其是在查看这 20 秒的计算时,只是试图解决我面临的任何问题:-)...

小智 10

有一次,我查看了 Diffie-Hellman 密钥的 OpenSSL 来源,发现 DH 密钥的大小有一个“任意”的 10K 限制。我更改了测试的来源,发现有效。我给作者写了一个错误,他们回复说这是通过使用大量密钥来防止 DoS 的设计意图。

在 OpenSSH 中看到类似的东西我不会感到惊讶。


Gil*_*il' 6

协议中没有定义最大密钥大小或超时(或者至少没有你会碰到的),但实现可能不支持这么长的密钥。对于 17kbit RSA 密钥来说,20 秒的私钥处理时间听起来并不高。那么服务器可能不想在未经身份验证的用户身上花费太多的计算能力:拒绝非常大的密钥是对 DoS 攻击的一种保护。

目前 2048 位对于 RSA 密钥被认为是合理的;4096 位高于必要但通常支持;除此之外,如果某些程序拒绝密钥,您不应该感到惊讶。