列出通过 SSH 连接的用户

列出通过 SSH 连接的用户

我检查了这个回答和这个选项- 这很好,但需要sudo权利。我需要任何用户都可以执行此命令,因此我使用下一个命令

ps -ef | grep sshd: | grep -v grep

并得到以下结果:

[owner@localhost ~]$ ps -ef | grep sshd: | grep -v grep
root      3175  2217  0 15:09 ?        00:00:00 sshd: [accepted] //Here just oppened putyy from windows pc
sshd      3177  3175  0 15:09 ?        00:00:00 sshd: [net]      //same as above
root      8062  2217  0 12:34 ?        00:00:00 sshd: root@pts/8 
root     24241  2217  0 13:37 ?        00:00:00 sshd: root@pts/10
root     31515  2217  0 14:38 ?        00:00:00 sshd: owner [priv] //non-root user connected
503      31567 31515  0 14:38 ?        00:00:00 sshd: owner@pts/12 //the same as above line

如何只过滤掉真实的连接?关键字“ priv”、“ accepted”、“ ”的含义是什么net

PS我需要在没有sudo权利的情况下这样做。

答案1

检查命令w

w 显示有关计算机上当前用户及其进程的信息。标题按此顺序显示当前时间、系统运行了多长时间、当前登录的用户数以及过去 1、5 和 15 分钟的系统平均负载。

为每个用户显示以下条目:登录名、tty 名称、远程主机、登录时间、空闲时间、JCPU、PCPU 以及当前进程的命令行。

JCPU 时间是附加到 tty 的所有进程使用的时间。它不包括过去的后台作业,但包括当前正在运行的后台作业。

PCPU 时间是当前进程使用的时间,在“what”字段中命名。

相关内容