SSH通过任何IP为特定的用户名?

我经常从家里或工作中通过SSH连接到服务器 – 但是当我在其他地方时,我得到这个错误:

ssh_exchange_identification:读取:通过对等方重置连接

在阅读了一下之后,我得出结论:服务器阻塞的IP地址不是我通常使用的SSH地址。 解决这个问题的简单方法是在/ etc / ssh / sshd_config文件中允许来自任何IP地址的SSH。

这似乎有点不安全

有没有办法允许特定用户的任何IP地址的SSH?

允许从任何IP连接到ssh的连接和从给定用户的任何IP连接到ssh几乎没有什么区别,因为用户authentication必须在连接之后发生 – 也就是在它已经让发起者连接之后。 一般情况下,无论源IP如何,您都应限制直接访问不需要它的服务器的ssh访问权限。

如果你不想让所有的ssh端口都开放,你可以尝试下面的一些选项:

  • 您可以设置VPN服务器,然后使用VPN客户端。
  • 你可以设置“端口敲击”,在一系列特定的连接尝试,以正确的端口将导致SSH端口开始聆听你足够长的时间来连接。
  • 您可以将您通常连接的ISP的networking块添加到允许的地址列表中,以大大减less潜在攻击者的数量,但仍保留“连接几乎任何地方”解决scheme的便利。
  • 你可以让你的SSH在非标准的端口上进行监听,在防御有针对性的攻击方面没有任何好处,但却是阻止通常的脚本小子运行自动探测器的好方法。

其他选项可以包括:

  • 使用类似fail2ban的东西在一定数量的错误密码尝试之后阻止攻击者。
  • 切换到ssh密钥并将sshd设置为不接受密码作为validation的有效方法。
  • 使用你知道的可靠的“去往”服务器,维护和安全,然后让你的服务器只接受来自那里的SSH连接。

总是要在便利性和安全性之间进行权衡,试图find适合您的观点。