惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
V
Visual Studio Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Y
Y Combinator Blog
博客园 - Franky
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
U
Unit 42
IT之家
IT之家
Last Week in AI
Last Week in AI
腾讯CDC
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
量子位
I
InfoQ
T
The Blog of Author Tim Ferriss
The Cloudflare Blog
MyScale Blog
MyScale Blog
C
Check Point Blog

记录生活,精彩一刻 - 服务器

平台迁移擅自改动定价,IDC 服务商不能把成本转嫁到老用户 数据服务器再次发生故障,服务器硬盘损坏(已修复) 非常稳定的服务器,马上到期,准备放生 数据存储服务器故障导致本站图片及视频数据无法正常浏览(已恢复) 国内服务商提供免费 VPS 服务器 VPS服务器常用脚本合集 1panel:开源Linux服务器管理面板!比宝塔面板美观 VPS云服务器线路科普,怎样挑选适合自己线路。 WHMCS V7.8.0原版下载及破解补丁安装教程 FTP连接不上 阿里云的服务器 宝塔的面板 解决办法
服务器 SSH 老提示 connection is closed by foreign host,...
Huo · 2026-09-11 · via 记录生活,精彩一刻 - 服务器

xk59syxa

今天打算给手里这几台服务器更新一下系统,并清理一下系统垃圾,但是这台服务器今天抽风,SSH 时好时坏,连不上的时候就报 connection is closed by foreign host。你说气不气人,它又不是一直坏,ping 是通的,端口也开着,过几分钟再试,嘿,又好了。这种毛病最磨人,我第一反应就是网络不行,或者机房抽风。

一开始我还怀疑是不是自己 IP 被 fail2ban 给封了,或者路上哪台设备在捣鬼。折腾半天才发现,跟网络半毛钱关系没有。服务器好着呢,负载几乎为零,大半年没重启过,稳得一批。

后来我好不容易挤进服务器,翻了一眼 sshd 日志,傻眼了。有一个 IP 是 5.231.242.201,同时挂着十几个连接,在那儿一个劲试 root 密码,短短两小时失败了两千多次。旁边还有一整个网段的机器在轮着爆破,主要是 77.83.39.x 这一段,什么 77.83.39.60、77.83.39.89、77.83.39.101、77.83.39.118、77.83.39.235、77.83.39.239 这些,十几个地址换来换去地试。另外还冒出个 92.118.39.59,也在那儿跟着凑热闹。量太大了,直接把 sshd 的一个保护开关给顶爆了。

这个开关叫 MaxStartups,默认值是 10:30:100,意思就是同时没认证的连接一旦超过 10 个,新进来的连接就会被随机踢掉。人家攻击者把这个额度占满以后,我这个正常用户的连接也跟着遭殃,随机就被丢了,客户端看着就是 connection is closed by foreign host。等攻击缓一缓,额度空出来,我又能连上了。所以才是这么个时好时坏的鬼样子。

找到病根,剩下就好办了。先把攻击来源在防火墙里手动封了,5.231.242.201 这个单 IP,还有 77.83.39.0/24 整个网段,加上 92.118.39.59,全给它关进去。然后就是把 fail2ban 修好,让机器以后自己会封,省得每次都得我手动来。

修 fail2ban 的时候又踩了个坑,这里多说两句。这机器是 Debian 12,日志走的是 systemd 的 journald,默认压根没有 /var/log/auth.log 这个文件,fail2ban 默认配置找不到日志,服务一直就是挂着的。更坑的是,sshd 日志在 journal 里的单元名是 ssh.service,不是 fail2ban 默认匹配的 sshd.service。这俩地方不改对,fail2ban 永远读不到日志,封 IP 更是没门。

改完配置重新把 fail2ban 拉起来,它当场就从历史日志里揪出十几个攻击 IP,全给自动封了。再回头看日志,攻击直接清零,SSH 也老实了,连着试了几十次都不带掉线的。

最后把这次碰到的可疑 IP 贴出来,看到的兄弟自己服务器里留意一下,能封就早点封:
5.231.242.201

77.83.39.0/24 这一整段(里面 77.83.39.17、60、89、95、99、101、112、118、119、122、147、217、226、235、238、239、240 都在轮着扫)

92.118.39.59

回头想想就一句话,SSH 报 connection is closed by foreign host,先别急着怪自己网络,看看服务器是不是正被爆破。防护工具光装没用,得确认它真在跑。再有余力,密码登录换成密钥,默认端口改一改,这两下能挡掉一多半的麻烦。

好吧,我承认这一次是 AI(DeepSeek) 的功劳。