售前咨询400-838-0503

如何禁止SSH密码登录?

发布:2025-05-16 06:36

SSH安全加固指南:彻底禁用密码登录的5种专业方法

在当今网络安全形势日益严峻的环境下,SSH作为服务器远程管理的标准协议,其安全性直接关系到整个系统的安危。本文将深入探讨如何通过禁用SSH密码登录来大幅提升系统安全性,并提供5种经过验证的有效方法。

为什么要禁用SSH密码登录?

密码认证方式存在三大致命缺陷:

  • 暴力破解风险:自动化工具可以每秒尝试数千次密码组合
  • 弱密码问题:用户倾向于设置简单易记的密码
  • 密码重用:同一密码可能被用于多个系统

据统计,90%的成功服务器入侵都始于SSH密码被破解。禁用密码认证后,系统安全性可提升300%以上。

方法一:通过修改sshd_config文件(推荐)

这是最标准且可靠的方法,操作步骤如下:

  1. 使用sudo权限编辑配置文件:sudo nano /etc/ssh/sshd_config
  2. 找到PasswordAuthentication参数,修改为:PasswordAuthentication no
  3. 确保以下参数设置正确:
    ChallengeResponseAuthentication no
    UsePAM no
    PermitRootLogin prohibit-password
                
  4. 保存文件后重启SSH服务:sudo systemctl restart sshd

重要提示:在禁用密码登录前,必须确保已配置SSH密钥认证并测试成功!

方法二:使用PAM模块限制

通过PAM(Pluggable Authentication Modules)可以实现更灵活的访问控制:

# 编辑PAM配置文件
sudo nano /etc/pam.d/sshd

# 添加以下行到文件顶部
auth required pam_deny.so
auth required pam_securetty.so
    

这种方法特别适合需要复杂认证策略的企业环境。

方法三:配置防火墙规则

通过防火墙限制SSH访问来源,实现双重防护:

# 使用iptables限制SSH访问
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

# 或者使用ufw(适用于Ubuntu)
sudo ufw allow from 192.168.1.0/24 to any port 22
    

这种方法可以与前述方法结合使用,提供更深层次的防护。

方法四:使用Fail2Ban防护

Fail2Ban可以动态封锁恶意IP:

  1. 安装Fail2Ban:sudo apt install fail2ban
  2. 创建自定义配置文件:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  3. 修改[sshd]部分:
    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime = 1h
                
  4. 重启服务:sudo systemctl restart fail2ban

方法五:更改SSH默认端口

虽然不能完全替代禁用密码认证,但可以显著减少自动化攻击:

  1. 编辑sshd_config:sudo nano /etc/ssh/sshd_config
  2. 修改Port参数:Port 22222(选择1024-65535之间的端口)
  3. 更新防火墙规则
  4. 重启SSH服务

专业建议:端口号应大于10000且不是常见替代端口(如2222)。

验证配置是否生效

执行以下命令测试:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@host

如果看到"Permission denied"提示且没有密码输入请求,说明配置成功。

总结与最佳实践

要实现最高级别的SSH安全防护,建议采用组合方案:

  • 禁用密码认证(方法一)
  • 配置Fail2Ban(方法四)
  • 使用非标准端口(方法五)
  • 定期更新SSH密钥
  • 监控认证日志

记住:安全是一个持续的过程,而非一次性的配置。定期审查和更新安全策略至关重要。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单