SSHD服务防止暴力破解

大神们,我想请问下,SSHD服务防止暴力破解
最新回答
巅峰小学生

2026-10-23 00:40:07

防止暴力破解是保护SSH服务安全的重要手段。本文提供两种方法:配置SSH服务和使用开源防护软件。



配置安全的SSH服务(方法一)



确保密码足够复杂,长度在8到20位之间,包含数字、大小写字母和特殊字符。



更改默认SSH端口号,避免直接暴露在公网上。



禁止root账号直接登录,通过添加普通账号并授予root权限的方式实现。



改为仅允许通过认证密钥进行SSH登录,避免密码暴力破解。



使用`ssh-keygen`生成公钥和私钥对,并将公钥通过`ssh-copy-id`命令发布到目标服务器,实现无密码直接登录。



注意:若SSH服务监听端口非默认22端口,需在`ssh-copy-id`命令中指定端口。



通过开源软件防护(方法二)



使用`fail2ban`来监控SSH日志,防止暴力破解。



安装`fail2ban`,并确保其与SSH服务的兼容性。



配置`jail.conf`文件,设置条件为在5分钟内尝试3次密码验证失败后,禁止该IP访问主机1小时。



通过`vim /etc/fail2ban/jail.conf`编辑配置文件,添加参数如`enabled = true`、`filter = sshd`、`action = iptables[name=SSH, port=ssh, protocol=tcp]`等。



启动`fail2ban`服务并设置开机自启。



测试配置效果,故意多次输入错误密码尝试登录,系统将拒绝登录并记录日志信息。



使用`fail2ban-client status`检查防护状态,确保黑名单中的IP已成功被禁止访问。



通过`fail2ban-client set unbanip `命令可从黑名单中移除IP。



在另一台服务器上测试SSH远程连接,验证防护措施的有效性。