SSH 不设防,服务器迟早翻车
SSH 是服务器管理的生命线,也是最常见的攻击入口。你也许以为加了密码就安全了?但事实是:
- 每天有成千上万次暴力登录尝试;
- 只用密码?秒破;
- IP 没限制?僵尸网络横扫;
- 密钥太久没换?被拷贝、泄露你都不知道…
提升 SSH 安全并不复杂,下面这 5 个高级技巧可以让你的服务器从脆弱裸奔 → 零信任级保护。
1. 更换默认端口(从22改到更隐蔽)
默认 SSH 端口是 22,大量扫描器、脚本攻击都是基于此。最简单有效的防护方式之一:改端口。
✅ 修改方法:
编辑配置文件:
bashsudo nano /etc/ssh/sshd_config
找到并修改这一行:
iniPort 22888
保存后重启 SSH:
bashsudo systemctl restart ssh
📌 建议选择 1024–65535 之间未占用的端口。
🎯 不可用端口如 80/443/3306/25 等系统常用端口请避开。
2. 禁用密码登录,启用密钥认证(防暴力破解)
攻击者用暴力破解脚本尝试成千上万个密码,但如果你彻底禁用了密码登录,只允许密钥登录,几乎可以说“无懈可击”。
✅ 步骤:
- 在客户端生成密钥对:
bashssh-keygen -t ed25519
- 将公钥传到服务器:
bashssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
- 修改 SSH 配置:
bashPasswordAuthentication no
PermitRootLogin no
- 重启 SSH:
bashsudo systemctl restart ssh
💡 推荐使用 ed25519 密钥,比 RSA 更快更安全。
3. 设置 Fail2Ban,自动封锁恶意IP
再安全的配置,也挡不住不停尝试。Fail2Ban 可以自动扫描日志,检测暴力破解行为,并封禁恶意 IP。
✅ 安装配置(以 Debian/Ubuntu 为例):
bashsudo apt install fail2ban -y
配置 /etc/fail2ban/jail.local
:
ini[sshd]
enabled = true
port = 22888 # 记得写你自定义端口
filter = sshd
maxretry = 3
findtime = 300
bantime = 86400
bashsudo systemctl restart fail2ban
🎯 配合 Cloudflare 或防火墙黑名单使用,封锁将更智能。
4. 启用防火墙规则,只允许特定IP访问 SSH
真正高强度的做法是:只有你的IP才能登录SSH。即使密码/密钥泄露,别人也连接不上。
✅ 使用 UFW(简易防火墙)配置:
bashsudo ufw allow from 你的IP地址 to any port 22888 proto tcp
sudo ufw deny 22888
sudo ufw enable
或者:
用 Cloudflare Tunnel / Tailscale / WireGuard 等零信任方式包裹 SSH 服务,仅私有网络可连。
5. 定期轮换 SSH 密钥 + 多人协作管理策略
✅ 为什么轮换密钥?
- 防密钥私下流转;
- 防员工离职后滥用权限;
- 防本地密钥被木马/劫持;
✅ 最佳实践:
- 所有 SSH 密钥都应标注用途,例如:
id_ed25519.devops@laptop
; - 管理多个用户用
.ssh/authorized_keys
中逐行控制; - 定期删除无效/旧密钥(可用脚本自动检测);
- 建立密钥签发 + 回收流程(如 Vault、Teleport);
Bonus:配合 2FA,做到零信任登录
可以使用 Google PAM
+ libpam-google-authenticator
为 SSH 添加二次验证(动态口令):
bashsudo apt install libpam-google-authenticator
google-authenticator
并在 /etc/pam.d/sshd
与 sshd_config
中启用:
iniChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
🧠 适合高安全级别场景如:金融后台、生产集群、数据库主节点。
✅ 结语:SSH 安全,从“不被发现”开始
你不需要部署昂贵的堡垒机系统,也不一定需要上云原生安全模块。
只要你掌握这几个简单但实用的技巧,就能把你的服务器从“随便连”变成“精确授权”:
- 攻击者找不到 → 改端口
- 破解者进不来 → 关密码
- 扫描器封掉它 → Fail2Ban
- 根本不让人连 → 限IP/防火墙
- 密钥轮转机制 → 防内部风险
不怕黑客暴力,就怕你配置随便。