通过修改SSH服务端配置文件/etc/ssh/sshd_config,添加或调整以下参数,直接限制暴力破解的尝试次数:
MaxAuthTries 3:限制每个SSH连接最多尝试登录3次,超过后自动断开连接,减少暴力破解的持续尝试机会。PasswordAuthentication no:禁用密码认证,强制使用SSH密钥对认证(需配合密钥生成与配置),从根本上避免密码被穷举的风险。sudo systemctl restart sshd使配置生效。密钥认证的安全性远高于密码认证,能有效防止暴力破解:
ssh-keygen -t rsa -b 4096命令生成RSA密钥对(私钥保留在客户端,公钥上传至服务器)。id_rsa.pub)内容追加到Debian服务器用户家目录的~/.ssh/authorized_keys文件中(如ssh-copy-id user@debian_ip可简化此步骤)。id_rsa)。通过防火墙(如iptables或ufw)限制只有特定IP地址能访问SSH端口(默认22),减少非法IP的暴力破解尝试:
sudo ufw allow from <trusted_ip> to any port 22(<trusted_ip>为信任的客户端IP),然后启用ufw(sudo ufw enable)。sudo iptables -A INPUT -p tcp --dport 22 -s <trusted_ip> -j ACCEPT(允许信任IP访问22端口),再添加sudo iptables -A INPUT -p tcp --dport 22 -j DROP(拒绝其他IP访问),最后保存规则(sudo iptables-save > /etc/iptables/rules.v4)。将SSH默认端口22改为非标准端口(如2222),减少自动化工具对SSH端口的扫描概率:
/etc/ssh/sshd_config,修改Port 22为Port 2222(或其他未被占用的端口)。sudo ufw allow 2222/tcp)。sudo systemctl restart sshd)。fail2ban是一款入侵防御工具,可自动监控SSH日志,对多次登录失败的IP进行封禁:
sudo apt install fail2ban。sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local,编辑jail.local,找到[sshd]部分,设置:enabled = true
maxretry = 3 # 允许的最大失败次数
bantime = 600 # 封禁时间(秒,如10分钟)
findtime = 600 # 检测时间窗口(秒,如10分钟)
sudo systemctl restart fail2ban。root用户拥有最高权限,禁止其远程登录可降低服务器被攻破后的损失:
/etc/ssh/sshd_config,修改PermitRootLogin参数为no(禁止root登录)或prohibit-password(禁止密码登录,允许密钥登录)。sudo adduser admin),并将其加入sudo组(sudo usermod -aG sudo admin),通过普通用户登录后再用sudo执行特权命令。通过详细日志记录登录行为,便于后续分析和追踪异常情况:
/etc/ssh/sshd_config,设置LogLevel VERBOSE(记录详细的认证过程,如失败原因、IP地址等)。/var/log/auth.log(Debian系统),定期使用grep 'Failed password' /var/log/auth.log命令查看失败登录记录,或通过fail2ban自动分析日志并封禁IP。以上措施需综合使用,形成多层防御体系,有效降低Debian服务器通过SecureCRT连接时遭受暴力破解的风险。同时,需定期检查和更新配置(如SSH版本、防火墙规则),应对新的安全威胁。