SSH 是服务器管理与远程登录的核心工具,但其安全性常被忽视。以下是保障 SSH 安全的关键措施👇
1. 强化认证机制
- ✅ 禁用密码登录:改用密钥认证(推荐使用
ed25519
或rsa
类型) - 🔐 限制用户权限:通过
/etc/ssh/sshd_config
设置AllowUsers
或AllowGroups
- 📁 使用硬件令牌:如 YubiKey 增强两步验证安全性
2. 配置安全策略
- ⚙️ 修改
/etc/ssh/sshd_config
:Port 2222
(更换默认端口)PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
- 🔒 启用
MAC
验证:UsePAM yes
- ⚠️ 禁用空闲会话:
ClientAliveInterval 300
(5分钟无响应断开)
3. 网络防护
- 🛡️ 配置防火墙:仅允许特定 IP 范围访问 SSH 端口(如
iptables
或ufw
) - 🌐 使用 TLS 加密:确保 SSH 传输层安全(
ssh -T
验证) - 🛑 防止暴力破解:
MaxAuthTries 3
+LoginGraceTime 60
4. 日志与监控
- 📊 启用日志记录:
SyslogFacility AUTH
+LogLevel INFO
- ⚠️ 定期审计日志:
/var/log/auth.log
分析异常登录尝试 - 📌 推荐工具:SSH 安全配置检查指南(本站链接)
5. 其他建议
- 🔄 定期更新 OpenSSH:
sudo apt update && sudo apt upgrade openssh-server
- 📱 限制客户端版本:
Protocol 2
(禁用不安全的 SSHv1) - 🧠 启用
Banner
提示:Banner /etc/ssh/banner.txt
(可自定义安全提醒)
📝 提示:如需进一步了解 SSH 配置优化,请参阅SSH 防火墙规则配置