任何只使用RSA密钥login的情况下使用SSH的Denyhosts?

对,所以如果我只能通过configuration合适的RSA密钥进入我的盒子,是否还有使用SSH的Denyhosts? 或者,Denyhosts只是在查看SSH的键盘交互/密码login?

不要误解我的意思,Denyhosts是绝对的mac-daddy,但是我最近关掉了键盘交互式的login,想知道是否值得让Denyhosts继续运行。

(如果您不知道Denyhosts,它基本上维护 – 并使用 – 一个人不断尝试进入SSH,但用户名/密码错误的IP黑名单)

通过我的阅读,有两个理由继续使用DenyHosts:

  1. 失败login处理仍然占用资源,所以使用它会降低。
  2. 使用DenyHosts的日志文件将比没有它的日志文件小很多。

如果其中任何一个对你来说都不重要,那么DenyHosts不会为你做任何事情。

它可以最大限度地减less“糟糕的演员/人”抨击额外的资源。

取决于在该框上运行的其他服务。 如果它是一个在线商店的networking服务器,可能会因为主机错误拒绝而丢失业务 – 尽pipe这似乎不太可能,尤其是如果您只使用自己的denyhost数据。

另一方面,如果您运行的其他服务的安全性可能不如您的lockingssh服务器 – 如果攻击者厌倦了您的ssh服务器,或者确实使用了其他服务共享数据。

总而言之,如果您不担心误报(例如,可能无法访问服务器的人有另一种联系方式,也不会损害与他们的任何关系!),那么没有理由不要不断拒绝主机。 也很有趣;)

为了增加其他的答案,在阅读关于denyhosts的工具(如Fail2ban )时,我遇到了一个警告(以ArchWiki的通知的forms):

警告:使用IP黑名单将停止微不足道的攻击,但它依赖于附加的守护进程和成功的日志logging(包含/ var的分区可能变满,特别是当攻击者在服务器上冲击时)。 另外,如果攻击者知道你的IP地址,他们可以发送带有伪造的源头的数据包,并让你被locking在服务器之外。 …

所以特别是如果你只允许公钥authentication的话,可能值得考虑只使用非标准端口(避免22端口的盲目攻击),故意不使用拒绝主机。