服务器被植入后门,如何加固 SSH 登录?

刚买的服务器还没跑业务,就被通知有后门?
八成是 SSH 弱口令被扫了。
别急着重装,先按下面步骤把 SSHD 加固到指纹级别,后门就算还在也连不进来。

先做三件事:备份、查后门、留条退路

登录服务器后,第一件事不是改配置,而是备份现有 SSH 配置文件:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

接下来快速排查常见后门位置:

  • cat ~/.ssh/authorized_keys —— 查看是否有多余的公钥;
  • crontab -l 以及检查 /var/spool/cron/ 下有无可疑定时任务;
  • ps aux | grep -i ssh —— 看是否有异常 SSH 进程在监听其他端口;
  • 检查 /root/.bashrc、/etc/rc.local 等开机启动脚本是否有恶意加载。

如果发现异常文件或进程,先记录路径,不要马上删除(可能触发反弹 shell),等加固完再清理。

核心加固:让后门无机可乘

1. 修改默认端口,减掉 99% 的扫描

sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config

选一个 1024-65535 之间的端口(例如 2222),之后连接要用 ssh -p 2222 user@ip。

2. 关闭 root 直接登录,切断最高权限入口

sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

以后用普通用户登录,需要提权时再 su - 或 sudo。

3. 只允许密钥登录,密码登录彻底禁用

先确认本机(客户端)已有密钥对,没有则生成:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

将公钥传到服务器(直接复制到 ~/.ssh/authorized_keys,注意权限:chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/)。
然后执行:

sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

4. 防火墙只放行可信 IP(可选但强烈建议)

用 iptables 或火墙(ufw/firewalld)限定源 IP。
这里以 ufw 为例:

ufw allow from 你的家庭公网IP to any port 2222
ufw deny 2222

注意顺序:先放行再拒绝,否则把自己锁了。

5. 安装 fail2ban 自动封掉暴力破解

debian/ubuntu 系列:

apt install fail2ban -y

配置 /etc/fail2ban/jail.local:

[sshd-custom]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

重启生效:systemctl restart fail2ban。

所有配置修改后,务必先重载 SSHD 但不退出当前会话:

systemctl reload sshd

然后另开一个终端窗口测试新连接,确认能登录再关闭旧窗口。

避坑高频问题

  • 改了端口却连不上? 检查防火墙是否放行了新端口,以及 SELinux(getenforce 显示 Enforcing 时要放行 2222 端口)。
  • 密钥登录失败? 查看服务端 ~/.ssh/authorized_keys 权限是否为 600,目录是否为 700;客户端密钥权限不能超过 600。
  • 禁用 root 后忘记创建普通用户? 立刻用旧会话创建用户并加入 sudo 组:useradd -m user && usermod -aG sudo user && passwd user;如果旧会话已断,联系服务商进救援模式。
  • fail2ban 封了自己? 在 /etc/fail2ban/jail.local 中的 ignoreip 添加本机 IP 或内网段,重启 fail2ban。

验证加固效果

  1. 查看 SSH 日志是否只记录白名单来源:grep "Accepted" /var/log/auth.log | tail -10;
  2. 换个网络环境(比如手机热点)尝试用密码登录旧端口,应该被拒绝;
  3. 故意输错几次密码,等待 fail2ban 封禁:fail2ban-client status sshd-custom 显示 Currently banned 数量 > 0 即为成功;
  4. 最后检查一下后门是否还有残留——用 lsof -i -n | grep -v 2222 | grep LISTEN 看看有无意外监听端口,如果有,确认并清理。

完成以上加固后,你的 SSH 就像换了指纹锁,之前植入的后门没有钥匙,只能在外墙瞎转。
建议把这篇教程收藏起来,每次服务器初始化时照着跑一遍,后门自然没机会落地。

分享到:
上一篇
用 AI 写 Shell 脚本,执行后系统配置被修改
下一篇
服务器被 DDoS 攻击,如何判断攻击类型?
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意