一个下午,我和一台SSH连不上的服务器
起因
事情要从今天下午说起。
我像往常一样,打开终端,敲下那条闭着眼都能打出来的命令:
ssh ubuntu@我的服务器IP
然后——什么都没有。没有密码提示,没有报错,就是死一般的沉默。等了半分钟,终于弹出一行冷冰冰的字:
Connection timed out
我的第一反应是:网断了?
于是打开浏览器,随便点了个网页——秒开。网没问题。
那……服务器炸了?
排查
我慌了。赶紧登录UCloud控制台,用VNC远程连接——进去了。服务器活得好好的,CPU正常,内存正常,硬盘正常。
然后我又试了1Panel面板里的终端功能——也能连上。
这就诡异了。服务器明明活着,SSH服务也在跑,但就是从我本地连不上。
这就像你站在自家门口,钥匙插进锁眼,转不动。但你从窗户翻进去一看,门锁明明是好的。
疑犯一:安全组?
我的第一嫌疑人是UCloud的安全组。毕竟云服务器嘛,安全组就是那道大门。万一22端口没放行,或者被什么规则挡住了呢?
登上控制台一看——入站规则里,TCP 22端口,来源0.0.0.0/0,放行。没问题。
排除。
疑犯二:SSH配置?
SSH配置有没有可能只监听了内网?或者限制了登录用户?
在VNC里敲了一通命令:
sudo ss -tlnp | grep ssh
结果:
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
监听所有网卡,端口22,没毛病。
排除。
疑犯三:防火墙?
然后我翻开了iptables的规则表。这一看,场面可壮观了——
Chain INPUT (policy DROP)
1 f2b-sshd tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22
2 ufw-before-logging-input ...
3 ufw-before-input ...
...
等等,f2b-sshd?这是什么?
展开一看,我惊了:
Chain f2b-sshd
1 REJECT all -- 45.148.10.152 0.0.0.0/0 reject-with icmp-port-unreachable
2 REJECT all -- 45.148.10.151 0.0.0.0/0 reject-with icmp-port-unreachable
...
42 REJECT all -- 183.211.32.235 0.0.0.0/0 reject-with icmp-port-unreachable
...
(共60条REJECT规则)
第42条。183.211.32.235。
那是我的IP。
真凶:fail2ban
fail2ban,一个用来防暴力破解的安全软件。它的工作原理很简单:如果某个IP在短时间内多次SSH登录失败,就直接把这个IP拉黑。
我之前可能输错了几次密码,fail2ban就把我的IP给ban了。
它忠心耿耿地保护着服务器,一刀砍向了主人。
UCloud控制台和1Panel为什么不受影响?因为它们走的是内网通道和本地回环,根本不经过iptables的那道f2b规则。只有从外部公网来的SSH连接,才会被拦在门外。
就像小区的保安拦住了所有从大门进来的人,但你从地下车库的内部通道回家,保安根本看不到你。
解决
知道了原因,解决就简单了。一条命令:
sudo fail2ban-client set sshd unbanip 183.211.32.235
然后回到我的Windows终端,再次敲下:
ssh ubuntu@我的服务器IP
密码提示出现了。
输入密码。
Welcome to Ubuntu 22.04...
ubuntu@server:~$
那一刻,我仿佛听到了门锁弹开的声音。
教训
搞了一下午,总结几条经验:
-
SSH连不上,先查fail2ban。 特别是当你能通过其他方式(控制台、面板)进入服务器的时候,大概率是被自己的安全软件误伤了。
-
给fail2ban加白名单。 如果你的IP是固定的,把它加入白名单:
# /etc/fail2ban/jail.local [sshd] ignoreip = 127.0.0.1/8 你的公网IP -
改用密钥登录。 既安全,又不会因为输错密码被ban:
ssh-keygen -t ed25519 ssh-copy-id ubuntu@服务器IP -
UCloud安全组和系统防火墙是两回事。 安全组放行了,不代表系统里的iptables/ufw/fail2ban也放行。两层都要查。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)