在当今的互联网环境中,SSH监控是保障Linux服务器安全的重要一环。SSH(Secure Shell)作为最常用的远程登录协议,如果配置不当或被恶意利用,可能导致服务器被入侵。本文将从零开始,教你如何监控Linux系统中的SSH连接,及时发现异常行为,提升远程连接安全。
SSH虽然加密传输,但并不意味着绝对安全。攻击者常通过暴力破解尝试登录你的服务器。如果你不监控SSH日志,可能在毫无察觉的情况下被攻破。通过监控,你可以:
在大多数Linux发行版中,SSH日志默认记录在 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(CentOS/RHEL)中。
使用以下命令实时查看SSH登录尝试:
# Ubuntu/Debiansudo tail -f /var/log/auth.log | grep sshd# CentOS/RHELsudo tail -f /var/log/secure | grep sshd 你将看到类似以下的日志:
Apr 10 10:23:45 server sshd[1234]: Accepted password for user1 from 192.168.1.100 port 54322 ssh2Apr 10 10:25:12 server sshd[1235]: Failed password for root from 203.0.113.50 port 34567 ssh2 其中,“Accepted”表示成功登录,“Failed”表示失败尝试。频繁的“Failed”日志可能意味着暴力破解攻击。
手动查看日志效率低,推荐使用自动化工具如 fail2ban 来自动封禁恶意IP。
安装 fail2ban(以Ubuntu为例):
sudo apt updatesudo apt install fail2ban -y 启动并设置开机自启:
sudo systemctl start fail2bansudo systemctl enable fail2ban fail2ban 默认会监控SSH日志,并在多次失败后自动用iptables封禁IP,默认封禁10分钟。你可以在 /etc/fail2ban/jail.local 中自定义规则。
除了实时监控,建议定期生成SSH登录报告。你可以编写一个简单的Shell脚本:
#!/bin/bashLOG_FILE="/var/log/auth.log"echo "=== 最近10次成功SSH登录 ==="grep "Accepted" $LOG_FILE | tail -10echo -e "\n=== 最近10次失败SSH尝试 ==="grep "Failed" $LOG_FILE | tail -10 保存为 ssh_report.sh,赋予执行权限后运行:
chmod +x ssh_report.sh./ssh_report.sh /etc/ssh/sshd_config,设置 PermitRootLogin no通过以上方法,即使是Linux新手也能有效实施SSH监控,提升服务器的远程连接安全。记住,安全不是一次性的配置,而是持续的监控与响应。结合Linux网络监控工具和定期的SSH日志分析,你的服务器将更加坚不可摧。
本文由主机测评网于2025-11-29发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111249.html