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 inpts/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 会话)。本地终端(tty1ttyAMA0)不计入远程 IP。

相关推荐
ShiXZ2131 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php
woniu_buhui_fei1 小时前
日常工作常用的命令(Linux+JDK)
linux·运维·服务器
snow@li2 小时前
Telnet 全景教程:全平台安装、命令使用、故障排查与安全规范
运维·网络
coward912 小时前
全志T507 (sun50iw9p1)sunxi pinctrl 子系统实现分析
linux·嵌入式硬件
OnlineProxy2 小时前
如何在无需手机号的情况下创建 Google 账号:高信任度代理(High Trust Score Proxy)如何取代短信验证
运维·服务器·facebook
imaol12 小时前
文件编程--标准IO
linux·运维·算法
随风而飘1862 小时前
罗德与施瓦茨 FSP13 中高端频谱分析仪
网络·功能测试·测试工具
王坊兴2 小时前
Ubuntu 部署产品原型静态服务器:SFTP + Nginx
服务器·nginx·ubuntu
旗开得胜马到成功3 小时前
AMD TPM 8.3/8.5漏洞技术剖析:服务器加密信任根崩塌后的备份密钥泄露风险与紧急加固
运维·服务器·网络·系统架构