设置一个足够强大的密码足以确保端口22上的SSH?

假设没有人可以从我自己偷我真正的密码,实际上是99.9%不可能使用SSH破解到我的服务器运行SSH在标准端口上使用非常强大的(24符号包含大写,小写数字,括号,下划线,美元,句号等,也没有人类语言的词)密码?

虽然很less,但仍然有0天的漏洞,所以你永远不知道。 也许你可以限制只有几个主机/networking访问端口22 [在防火墙级]?

或者,也许你可以去安全的,虽然默默无闻的方式,并实施端口敲门 ?

请记住,您的密码可能非常强大,而其他用户可能有真正的弱密码。 将AllowGroupsAllowUsers放入/etc/ssh/sshd_config ,closures其他用户的ssh访问权限。

另外请记住,您的密码可能安全:这个密码几乎肯定会被写下来。

话虽如此,我觉得你很安全, 如果你与港口敲门结合,所以你是非常安全的。

这一切都取决于攻击者能够多快地敲击你的tcp / 22端口进行login。 如果你没有使用某些东西来终止这种重复的连接,那么可以及时发现任何密码。 在这种情况下,时间将是一个很长的时间。 几个月不断的锤击。 在SSH日志中,我已经漫步了,我已经看到很less有针对特定账户的定向锤击,还有很多门敲门寻找弱密码。

但是,你不能假设所有的攻击者都是随便的。 有人专门针对你将有投资等待几个月的时间。这是因为这样的原因,共享密钥是可能的首选。 你所描述的密码很可能是三九不可能破解(在合理的时间限制内)。 我不会屏住呼吸五个九。

使用denyhosts。 另外考虑使用基于密钥的login,而不是passwrod。

将sshd移动到一个非标准的端口可能会增加你的configuration,这可能会消除99%的sot botstream量。 当你可以很容易地隐藏时,为什么要暴露自己所有的暴力攻击。 😉

我通常还build议configurationsshd,以便只使用基于SSH密钥对的身份validation,如果它将要暴露在Internet上的话。 只要你保证你的私钥安全,坏人几乎不可能像服务器一样对你进行身份validation。

正如另一位评论员已经指出的那样,这并不能保护你免受sshd本身的零日攻击。 将stream量限制在需要通过防火墙规则连接的机器上总是一个好主意。