因此,我在我的网络服务器上使用 php 制作了一个控制面板,它能够通过 ssh2 向我的专用服务器(远程服务器)发送命令。
这很好用,但是我注意到在重新连接到 ssh2 几次之后它就停止工作并且连接超时了。(尝试从服务器直接 ssh 到目标也不起作用)
我已经刷新了 iptables 但似乎没有效果。
我检查了 auth.log 和系统日志,但似乎都没有显示有关连接失败的任何信息。
目标服务器运行的是 Ubuntu 16.04,是一个 OVH 服务器。
有人能给我一些建议吗?我可以尝试/检查哪些方法可以解决这个问题?我认为,由于这是一台 OVH 服务器,所以它可能会被他们的 Anti-DDoS 检测到,但据我所知,我没有办法检查这一点。
从 Web 服务器跟踪路由至端口 22 - 未成功
# traceroute -n -T -p 22 TARGET
traceroute to TARGET (TARGET), 30 hops max, 60 byte packets
1 * * *
2 185.145.200.13 0.293 ms 0.277 ms 0.316 ms
3 185.145.200.11 0.195 ms 0.188 ms 0.208 ms
4 * * *
5 91.121.128.92 9.393 ms * *
6 * * *
至 30 * * *
从 Web 服务器跟踪路由到端口 22 - 成功
traceroute -n -T -p 22 TARGET
traceroute to TARGET (TARGET), 30 hops max, 60 byte packets
1 * * *
2 185.145.200.13 0.335 ms 0.352 ms 0.297 ms
3 185.145.200.11 0.273 ms 0.267 ms *
4 * * *
until
30 * * *
答案1
我也只是在这里盲目拍摄:
也许 ovh 启用了某种“网络保护”来防止服务器受到暴力攻击。
为了找出原因,请尝试在不同的端口(例如 6022)上运行 sshd,看看问题是否仍然存在。
ListenAddress
Specifies the local addresses sshd should listen on. The following forms are allowed:
ListenAddress host|IPv4_addr|IPv6_addr
ListenAddress host|IPv4_addr:port
ListenAddress [host|IPv6_addr]:port
来源 :https://www.ssh.com/ssh/sshd_config/
答案2
我只是在这里盲目拍摄:
这可能与路由有关吗?也许您为要访问的主机名同时启用了 IPv4 和 IPv6,或者只是启用了多个 IPv4 路由?也许其中一条路由已损坏。
是否存在某种防火墙来限制 ssh 服务器前的请求?
您是否安装了 fail2ban 或类似程序?也许它会在您刷新 iptable 链后再次向其中添加内容?
也可能是请求路由上的防火墙或流量限制器。要进行调试,请尝试设置一条从 A 到 B 的静态网络路由,然后一步一步地通过网络,直到找到断开的链接。