Linux下防止SSH暴力破解的方法有很多,本篇攻略将详细介绍其中的三种常用方法:
1.更改SSH端口号
SSH默认端口是22,这也是黑客们常用的端口进行暴力破解攻击。因此,我们可以通过将SSH端口改为其他非常用端口的方式来防止SSH暴力破解攻击。
示例说明:
打开SSH配置文件,编辑端口号:
sudo nano /etc/ssh/sshd_config
将原来的端口22改为其他非常用的端口,如8888。完成修改后,保存文件并重启SSH服务:
sudo service sshd restart
2.使用SSH安全密钥登录
SSH安全密钥登录是一种比密码更安全的身份验证方式。在这种方式下,用户生成一对公私密钥,将公钥上传到服务器,服务器再将公钥存储到 ~ /.ssh/authorized_keys 文件中。此后用户只需将私钥保密,每次登录时使用私钥进行身份验证即可。
示例说明:
首先在本地生成一对公私密钥:
ssh-keygen -t rsa
此时会在~/.ssh/目录下生成一对密钥。接下来将公钥复制到服务器上的~/.ssh/authorized_keys文件中:
ssh-copy-id username@server-ip
最后将ssh配置中的密码验证方式禁用,启用密钥验证方式:
sudo nano /etc/ssh/sshd_config
将密码验证方式禁用:
PasswordAuthentication no
重启SSH服务:
sudo systemctl restart ssh
3.使用fail2ban防暴力破解
fail2ban是一种防止暴力破解的软件,它通过监视系统的日志文件,一旦发现多次登录失败的情况,就会自动禁止此IP地址的登录请求一段时间。
示例说明:
首先安装fail2ban:
sudo apt-get install fail2ban
并备份默认的fail2ban配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
接下来编辑fail2ban配置文件:
sudo nano /etc/fail2ban/jail.local
找到[ssh]头标签下的配置,修改以下配置项:
port = ssh
logpath = %(sshd_log)s
maxretry = 3
这里将监控的端口设置为SSH默认端口,即22,检测日志文件路径设置为sshd,最大重试次数设置为3。
完成修改后,重启fail2ban:
sudo service fail2ban restart
总结
本文介绍了Linux下三种常用的防止SSH暴力破解的方法:更改SSH端口号、使用SSH安全密钥、使用fail2ban防暴力破解。通过综合使用这三种方法,可以更好的保护系统安全。