SSH 是服务器管理与远程登录的核心工具,但其安全性常被忽视。以下是保障 SSH 安全的关键措施👇

1. 强化认证机制

  • 禁用密码登录:改用密钥认证(推荐使用 ed25519rsa 类型)
  • 🔐 限制用户权限:通过 /etc/ssh/sshd_config 设置 AllowUsersAllowGroups
  • 📁 使用硬件令牌:如 YubiKey 增强两步验证安全性
SSH_keys

2. 配置安全策略

  • ⚙️ 修改 /etc/ssh/sshd_config
    • Port 2222(更换默认端口)
    • PermitRootLogin no
    • PasswordAuthentication no
    • ChallengeResponseAuthentication no
  • 🔒 启用 MAC 验证:UsePAM yes
  • ⚠️ 禁用空闲会话:ClientAliveInterval 300(5分钟无响应断开)

3. 网络防护

  • 🛡️ 配置防火墙:仅允许特定 IP 范围访问 SSH 端口(如 iptablesufw
  • 🌐 使用 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_config

📝 提示:如需进一步了解 SSH 配置优化,请参阅SSH 防火墙规则配置