好的,这是上周才开始的——
每当我们尝试通过 ssh 连接到我们的服务器时(我们也使用 sftp) - 连接就会超时。
但是,当您 ssh 到任何其他服务器,然后 ssh 进入该机器时 - 它可以完美运行。
现在,令人难以置信的是有时ssh 连接将会成功。
几分钟之前,我尝试在另一台机器上执行该操作,然后又在自己的机器上执行该操作,并且成功了 - 但下一次尝试时就超时了。
上周,只需重新启动 ssh 守护程序即可,但这周,运气不佳。我甚至进入并更改了:
/etc/hosts.allow
ALL : ALL
和
/etc/hosts.deny
是空白的。
防火墙配置没有改变 - 但我甚至禁用了防火墙以查看它是否有效 - 它确实有效了一会儿 - 然后又切断了。(ufw 设置为“ALLOW”而不是“LIMIT”)
当我尝试用手机 SSH 登录时——一切正常——
因此,问题似乎出在我们的 ISP/路由器/网关上 - 但是,我没有在路由器/网关上看到任何日志表明它阻止了我们的连接 -
这也不能解释为什么我们可以通过 SSH 进入任何其他服务器-- 除了这一个 - 来自我们的网络 ---
我真的很感激任何人对此事的见解 -
答案1
我知道导致此行为的一个原因是fail2ban
。当在特定时间段内发现太多错误登录时,此程序会阻止 SSH 访问。这可以是密码登录,也可以是基于密钥的登录。在指定时间后,IP 地址将再次解除阻止。
检查您的服务器是否fail2ban
已安装,如果已安装,请检查您的日志以查看黑名单操作。如果 fail2ban 时不时地阻止您的主机,您应该能够在您的身份验证日志中检查哪个用户/密钥导致了这些问题。fail2ban 支持 IP 白名单,因此您可以防止受信任的 IP 被列入黑名单。
答案2
当 DNS 解析间歇性或缓慢时,我就遇到过这种情况。
检查服务器端的 /etc/resolv.conf 中是否有有效的名称服务器,以及客户端 IP 上的nslookup
或dig
是否可以解析名称而不会超时。
您甚至可以通过在服务器主机文件中添加用于连接的机器的 IP 和主机名的条目来测试 /etc/hosts。