以下是CentOS系统中SSH服务配置文件/etc/ssh/sshd_config的核心参数详解及优化建议,结合安全性与功能需求分类说明:


🔧 ​​一、核心参数详解​

  1. ​网络与端口配置​

    • Port 22
      默认监听端口。​​安全建议​​:改为非标准端口(如2222)以减少自动化扫描攻击。
    • ListenAddress 0.0.0.0
      监听所有IPv4地址。若需限制访问IP,可指定具体地址(如192.168.1.100)。
    • AddressFamily any
      支持IPv4/IPv6双栈。按需改为inet(仅IPv4)或inet6(仅IPv6)。
  2. ​认证与访问控制​

    • PermitRootLogin yes
      允许root登录。​​强烈建议​​设为no,改用普通用户+sudo提权。
    • PasswordAuthentication yes
      启用密码认证。​​安全建议​​:设为no,强制使用密钥认证。
    • PubkeyAuthentication yes
      启用公钥认证。需配合AuthorizedKeysFile .ssh/authorized_keys(存储客户端公钥的文件)。
    • AllowUsers user1 user2@IP
      仅允许指定用户或IP登录(如AllowUsers admin@192.168.1.0/24)。
    • DenyUsers baduser
      禁止特定用户登录(黑名单)。
  3. ​会话与连接管理​

    • MaxAuthTries 6
      单次连接允许的最大认证失败次数。超过则断开,可降低至3防暴力破解。
    • MaxSessions 10
      同一用户的最大并发会话数。避免资源耗尽。
    • ClientAliveInterval 300
      服务器检测客户端活跃的间隔(秒)。设为60可更快释放空闲连接。
    • ClientAliveCountMax 3
      连续无响应次数上限,超时自动断开(总超时= Interval × CountMax)。

🔒 ​​二、安全加固配置​

  1. ​禁用高风险功能​

    • PermitEmptyPasswords no
      禁止空密码登录。
    • X11Forwarding no
      禁用X11图形转发,减少攻击面。
    • UseDNS no
      禁用反向DNS解析,加速连接并防中间人攻击。
  2. ​加密算法强化​

    Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
    KexAlgorithms curve25519-sha256
    MACs hmac-sha2-512-etm@openssh.com
    

    仅启用高强度加密算法,禁用弱算法(如SSHv1)。

  3. ​密钥管理​

    • 生成强密钥:ssh-keygen -t ed25519 -a 100
    • 公钥部署:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host

⚡ ​​三、性能优化​

  • GSSAPIAuthentication no
    关闭GSSAPI认证(非企业环境无需启用),提升连接速度。

  • Compression delayed
    启用延迟压缩,减少带宽占用。


📁 ​​四、文件权限与日志​

  • ​权限要求​​:

    • .ssh目录权限:700
    • authorized_keys文件权限:600
      权限错误会导致密钥认证失败。
  • ​日志路径​​:

    • 认证日志:/var/log/secure(CentOS)
    • 监控命令:grep 'sshd' /var/log/secure

🛠️ ​​五、配置检查与排错​

  1. ​语法校验​​:

    sshd -t  # 检查配置文件语法
    
  2. ​重载服务​​:

    systemctl restart sshd  # 修改后必须重启生效
    
  3. ​常见错误​​:

    • ssh_exchange_identification: Connection closed → 配置语法错误。
    • server refused our key.ssh目录权限问题。

🛡️ ​​六、安全加固建议总结​

​参数​ ​推荐值​ ​作用​
Port 非22端口(如2222) 减少扫描攻击
PermitRootLogin no 禁止root远程登录
PasswordAuthentication no 强制密钥认证
UseDNS no 加速连接,防DNS欺骗
AllowUsers 指定用户/IP 限制访问范围
  • ​进阶措施​​:
    • 部署fail2ban自动封禁暴力破解IP。
    • 启用双因素认证(2FA)。
    • 定期轮换密钥(每3-6个月)。

💎 ​​最佳实践流程​​:

1️⃣ ​​备份配置​​ → 2️⃣ ​​禁用root/密码登录​​ → 3️⃣ ​​启用密钥认证​​ → 4️⃣ ​​限制端口/IP​​ → 5️⃣ ​​启用日志监控​​。

修改前务必通过sshd -t验证语法,避免配置错误导致服务不可用。

posted on 2025-08-04 10:36  LeeHang  阅读(322)  评论(0)    收藏  举报