在CentOS上监控SSH连接,可以通过以下几种方法:
netstat
或ss
命令你可以使用netstat
或ss
命令来查看当前的SSH连接。
netstat
sudo netstat -tnp | grep sshd
ss
sudo ss -tnp | grep sshd
这两个命令都会显示当前所有的TCP连接,并且通过grep sshd
过滤出与SSH相关的连接。-t
选项表示只显示TCP连接,-n
选项表示不解析服务名,-p
选项表示显示进程信息。
last
命令last
命令可以显示系统登录记录,包括SSH连接。
sudo last
这个命令会列出所有用户的登录和登出记录,包括通过SSH连接的记录。
auth.log
SSH的认证日志通常记录在/var/log/auth.log
文件中。你可以使用tail
命令实时查看最新的日志条目。
sudo tail -f /var/log/auth.log
fail2ban
fail2ban
是一个入侵防御软件框架,它可以监控日志文件(如/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
tcpdump
tcpdump
是一个强大的网络分析工具,可以捕获和分析网络数据包。
sudo tcpdump -i any port 22
这个命令会捕获所有通过端口22(SSH默认端口)的数据包。你可以根据需要调整接口和端口。
htop
或top
虽然htop
或top
主要用于监控系统资源使用情况,但它们也可以显示当前运行的进程,包括SSH服务器进程。
sudo htop
或者
sudo top
通过这些方法,你可以有效地监控和管理CentOS上的SSH连接。