openssh 守护进程是否可以分别计算密钥失败次数和密码失败次数?

openssh 守护进程是否可以分别计算密钥失败次数和密码失败次数?

最近,我工作的地方的一些服务器上的 ssh 最大身份验证数量从 6 个减少到了 3 个,以符合新的安全限制。我们 IT 部门的大多数人在尝试连接时都会看到“失败次数过多”且根本没有密码提示,因为 ssh 将所有 ssh 密钥都计为身份验证尝试,而我们每个人至少有 3 个密钥。

虽然这在技术上是正确的,因为密钥身份验证是一次身份验证尝试,但我想知道的是 sshd 是否可以分别跟踪基于密钥的身份验证和密码身份验证。因此,我们可以将基于密钥的限制设置为 6,并将基于密码的限制设置为 3,以符合新的限制。我不想让它不计算基于密钥的尝试,因为这可能会被滥用。

要么这样,要么将 2 或 3 次密钥失败视为一次身份验证失败,以达到限制目的。但我更喜欢分别跟踪它们的想法。

答案1

sshd不可以,无论使用哪种身份验证方法,任何身份验证尝试都算作“一次尝试”。您无法以不同方式跟踪不同的身份验证方法。

您可以使用 config 参数限制用于特定主机的密钥IdentitiesOnly。如果将其设置为yes,则将仅使用指定的身份(或默认身份,即未指定)。因此,要强制只使用一个特定密钥,而不管您的代理存储了多少个身份,您需要如下配置:

Host *.mycompany.localnet
  IdentitiesOnly yes
  IdentityFile /home/youruser/.ssh/my_company_ssh_key
  

相关内容