ServerKeyBits
我已经阅读了一些关于“如何保护 SSH 服务器”的指南,将默认值从 768 增加到 2048是一件好事。
这些指南中的大多数似乎是为入门级/新手服务器管理员(我是)快速保护自己免受脚本暴力 root ssh 登录尝试和类似的事情,我试图理解每个安全措施的重点。
我一直在阅读基于公钥的身份验证的工作原理,特别是对于 SSH v2。我根本没有看到任何关于在客户端身份验证过程中使用 SSH 服务器的主机密钥的信息,我的意思是证明客户端是受信任的。
它似乎仅用于确保客户端连接的主机与其过去连接的主机相同 - 它不是冒名顶替者。
我想知道,实际上,为什么将主机密钥增加到 2048 如此重要。攻击者是否更难以某种方式暴力破解主机私钥?即使攻击者能够找出私有主机密钥,以便客户端/或管理员能够登录到假主机,这对攻击者有何好处?
这些指南中还包括设置
PasswordAuthentication no
所以用户甚至不应该期望输入密码。如果他们在通常不需要输入密码的情况下如此不知道要输入密码,那么他们不会只是盲目地接受不同的主机密钥吗?那么如果攻击者有密码,那又如何呢?无论如何,服务器上都禁用了密码身份验证,因此他们仍然无法登录。根据我的阅读,即使客户端信任攻击者,攻击者也无法在身份验证过程中从客户端获取任何有用信息服务器身份。
我觉得我错过了一些关于 SSH 公钥身份验证如何工作的重要内容,因为我不明白为什么拥有长主机密钥似乎如此重要。是否会使客户端凭据更难以某种方式受到损害?如果私有主机密钥被泄露,实际会发生什么?
谢谢