在CentOS上监控SSH连接,可以通过以下几种方法:
netstat或ss命令你可以使用netstat或ss命令来查看当前的SSH连接。
netstatsudo netstat -tnp | grep sshd
sssudo ss -tnp | grep sshd
这两个命令都会显示当前所有的TCP连接,并且通过grep sshd过滤出与SSH相关的连接。-t选项表示只显示TCP连接,-n选项表示不解析服务名,-p选项表示显示进程信息。
last命令last命令可以显示系统登录记录,包括SSH连接。
sudo last
这个命令会列出所有用户的登录和登出记录,包括通过SSH连接的记录。
auth.logSSH的认证日志通常记录在/var/log/auth.log文件中。你可以使用tail命令实时查看最新的日志条目。
sudo tail -f /var/log/auth.log
fail2banfail2ban是一个入侵防御软件框架,它可以监控日志文件(如/var/log/auth.log),并在检测到多次失败的SSH登录尝试后,自动封禁相关IP地址。
安装fail2ban:
sudo yum install fail2ban
启动并启用fail2ban服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
配置fail2ban以监控SSH连接:
编辑/etc/fail2ban/jail.local文件,添加或修改以下内容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600
tcpdumptcpdump是一个强大的网络分析工具,可以捕获和分析网络数据包。
sudo tcpdump -i any port 22
这个命令会捕获所有通过端口22(SSH默认端口)的数据包。你可以根据需要调整接口和端口。
htop或top虽然htop或top主要用于监控系统资源使用情况,但它们也可以显示当前运行的进程,包括SSH服务器进程。
sudo htop
或者
sudo top
通过这些方法,你可以有效地监控和管理CentOS上的SSH连接。