通过修改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版本、防火墙规则),应对新的安全威胁。