linux 查询当前登录的用户数量

命令一:last | grep root | head -n 10

作用 :查看 root 用户最近的登录记录(含历史与当前在线会话)。

命令部分 含义
last 读取 /var/log/wtmp,列出所有登录/注销历史。
grep root 筛选 root 用户的行。
head -n 10 只显示前 10 行,避免刷屏。

如何看懂输出字段:

text

复制代码
用户名  终端      来源信息               登录时间       状态
root    pts/0    <远程IP-1>            Tue Aug 18 15:04   still logged in
root    tty1     :0                    Tue Aug 18 13:58   still logged in
root    pts/0    :0.0                  Tue Aug 18 13:58 - 14:19  (00:20)
...
  • 第三列(来源):

    • 若为 IP 地址 (如 <远程IP-1>),表示该会话来自远程 SSH 连接。

    • 若为 :0 或 :0.0,表示来自本地图形界面(X Window),非网络远程。

  • 状态列:

    • still logged in → 当前仍在线的会话,这是判断"当前谁在登录"的关键。

    • 若显示如 (00:20),表示该会话已注销,持续了 20 分钟。

通过 last 可以直观看到哪些 IP 当前处于 still logged in 状态。


命令二:ss -tnp | grep :22 | grep -v LISTEN

作用:查看当前服务器上所有与 SSH(端口 22)相关的、已建立或正在发起的 TCP 连接,并显示进程信息。

命令部分 含义
ss Socket Statistics,查看套接字信息。
-t 仅 TCP。
-n 数字显示 IP 和端口(不解析域名)。
-p 显示进程 PID 和程序名。
grep :22 只保留包含 :22 的行。
grep -v LISTEN 去掉处于监听状态的守护进程,只保留实际通信连接。

如何看懂输出字段:

text

复制代码
状态    recv-q send-q  本地地址:端口        远程地址:端口         进程信息
ESTAB   0      0        <服务器本地IP>:22   <远程IP-1>:37742    users:(("sshd",pid=30794,...))
SYN-SENT 0     1        <服务器本地IP>:56810 <远程IP-2>:22      users:(("ssh",pid=30875,...))
ESTAB   0      0        <服务器本地IP>:22   <远程IP-3>:4663     users:(("sshd",pid=30420,...))
  • 状态:

    • ESTAB:连接已建立,正在通信。这些是当前有效的 SSH 会话(别人连你的)。

    • SYN-SENT:表示本机正在主动向外发起 SSH 连接(你的服务器作为客户端去连别的机器),不是别人连你。

  • 本地地址:本机的网卡 IP 和端口(22 是 SSH 服务端端口)。

  • 远程地址:连接对端的 IP 和临时端口。

  • 进程信息:

    • sshd 表示服务端进程(被连接),通常是 root 用户在远程登录。

    • ssh 表示客户端进程(主动连接外部)。


两条命令的互补关系

  • last 侧重于"登录历史与当前在线状态",能区分本地(图形/串口)和远程(IP)。

  • ss 侧重于"实时网络连接",能精确显示当前所有 TCP 隧道,包括别人连你的和你连别人的。

结合输出分析:

  • last 中显示有 still logged in 的 pts/0 行带有 <远程IP-1>,说明当前有一个远程 SSH 登录。

  • ss 中显示有两条 ESTAB 连接,远程地址分别为 <远程IP-1> 和 <远程IP-3>,都连接到本机的 22 端口,说明有两个远程 IP 正在通过 SSH 连接本机。

  • 另外还有一条 SYN-SENT,说明本机曾尝试连接 <远程IP-2> 的 22 端口(可能是之前在终端执行过 ssh 命令)。

因此,当前共有 2 个远程 IP 通过 SSH 以 root 身份登录(对应 pts/0 和另一个 pts 会话)。本地终端(tty1、ttyAMA0)不计入远程 IP。

相关推荐
淘气包海鸟13 分钟前
水声网络框架
网络·ns3·水
aaa最北边17 分钟前
Linux 上的交叉编译
linux·运维·服务器
蒲公英内测分发28 分钟前
智能门锁量产时,工厂测试 App 一直在更新,产线怎么避免装错 APK?
服务器·人工智能·github·智能硬件·智能手表
垆边人似月.37 分钟前
Python中如何使用get函数实现频次查询
服务器·前端·python
小张成长计划..1 小时前
【Linux】27:日志
linux·运维·服务器
别动我齐刘海1 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
Lsetea1 小时前
curl -I检查HTTPS返回405:HEAD、GET与证书验收分层排查
linux·http·https·ssl证书·curl
国科安芯1 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
dlhto1 小时前
Windows 使用 Rufus 制作 AlmaLinux 10.2 启动 U 盘:从 ISO 下载到服务器安装
运维·服务器·windows
一直C2 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull