📅  最后修改于: 2023-12-03 15:26:43.775000             🧑  作者: Mango
在管理远程服务器时,我们需要时刻关注 SSH 连接的活动情况,以确保服务器的安全。
以下是几个可以帮助你检查 SSH 连接活动数量的方法:
使用 netstat
命令可以列出当前系统上的所有网络连接。可以使用以下命令筛选出当前所有 SSH 连接:
$ netstat -an | grep :22 | wc -l
这个命令会显示当前所有的 SSH 连接数目。
解释:
netstat -an
:显示系统中所有网络连接的情况。
grep :22
:筛选出所有连接到本机的 22 端口(SSH 端口)的连接信息。
wc -l
:计算行数,即连接数。
lsof
命令用于列出系统中所有打开的文件信息。我们可以使用以下命令来列出当前所有 SSH 连接:
$ sudo lsof -i :22 | grep -i "listen\|ssh" | uniq | wc -l
这个命令会显示当前所有 SSH 连接数目。
解释:
sudo lsof -i :22
:列出所有连接到本机的 22 端口(SSH 端口)的打开文件信息。
grep -i "listen\|ssh"
:筛选出所有监听 22 端口和 SSH 相关的信息。
uniq
:去重。
wc -l
:计算行数,即连接数。
与 netstat
命令相似的是,ss
命令也可以用来列出当前所有网络连接信息。我们可以使用以下命令来列出当前所有 SSH 连接:
$ ss -n state established '( dport = :22 or sport = :22 )' | grep -v State | wc -l
这个命令会显示当前所有 SSH 连接数目。
解释:
ss -n state established '( dport = :22 or sport = :22 )'
:列出所有状态为 established 的连接信息且包括本地 22 和远程 22 端口(SSH 端口)的连接信息。
grep -v State
:去掉不需要的信息。
wc -l
:计算行数,即连接数。
以上是几个可以用来检查 SSH 连接活动数量的方法。为了保障服务器安全,我们需要经常检查 SSH 连接数量以确保没有不安全的活动。