我真的需要使用 SSH 密钥来保证安全吗?

我真的需要使用 SSH 密钥来保证安全吗?

我厌倦了 GoDaddy 上的共享主机,所以我注册了 Rackspace 上的云服务器。一位朋友指导我安装 Apache 并锁定 root。他还建议我禁用密码登录并使用 SSH 密钥。所以我照做了。

ssh username@server这位朋友指导我如何在本地设置 ssh_config,因此我不再使用 登录,而是使用ssh alias。这很有效,但很大程度上令人沮丧,因为我不知道它在幕后是如何工作的。

答案1

SSH 密钥本质上是极长的密码。它们太长了,普通人记不住,所以必须保存。从安全角度来看,每种密码提供的保护级别几乎没有什么区别。最大的区别是人们会选择糟糕的密码,尤其是那些思考他们知道选择一个“ok”甚至“good”的密码。

SSH 不会限制登录尝试的速率。因此,“正常”设置将允许每秒进行 100 次以上的密码猜测。使用 Hydra 之类的工具可以自动猜测密码,从而使此过程变得非常简单。几乎一半的人使用相同的数百万个密码;如果知道他们的用户名,则以每秒 100 次的速度破解需要几分钟。我敢打赌,您的用户名是基于您的真实姓名的,就像绝大多数人一样。

SSH 密钥通过生成本质上是 128 个字符或更长的密码来打破这种模式。猜测这样的密码将花费大量时间。尝试真的毫无意义。潜在的黑客会在破解 1% 的可能密钥之前就老死。

人们选择密码的问题思考很好总结为西科光盘漫画(请注意,年轻人整体上选择的密码比老年人糟糕得多):

XKCD - 密码强度

相关内容