1、用w命令查看当前系统登录的用户
root@debian:~# w
15:27:05 up 3:48, 5 users, load average: 0.49, 0.43, 0.43
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.16.115.13 11:38 42:34 0.16s 0.08s vim /var/log/messages
root pts/1 172.16.115.13 11:39 42:28 0.02s 0.02s -bash
root pts/2 10.10.1.139 13:25 2:01m 0.02s 0.02s -bash
root pts/3 10.10.2.159 13:25 2:01m 0.02s 0.02s -bash
root pts/4 172.16.115.16 13:25 2:01m 0.02s 0.02s -bash
15:27:05 up 3:48, 5 users, load average: 0.49, 0.43, 0.43
系统开机时间||**||运行时间||**||用户数
USER —登录的用户名
TTY —登录后系统分配的终端号
FROM—远程主机名,即从哪儿登录来的
LOGIN@—何时登录
IDLE—空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置
JCPU—和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
PCPU—指当前进程(即在WHAT项中显示的进程)所占用的时间
WHAT—当前正在运行进程的命令行
2、使用ps -u username命令查看用户进程,然后kill掉对应用户的sshd进程
root@gp-segment1:~# ps -u root | grep sshd
888 ? 00:00:00 sshd
2134 ? 00:02:19 sshd
6062 ? 00:00:00 sshd
6896 ? 00:00:00 sshd
25433 ? 00:00:04 sshd
root@gp-segment1:~# kill -9 2134
3、还有另外一种方式是使用pkill命令终止用户连接
root@debian:~# w
15:27:05 up 3:48, 5 users, load average: 0.49, 0.43, 0.43
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.16.115.13 11:38 42:34 0.16s 0.08s vim /var/log/messages
root pts/1 172.16.115.13 11:39 42:28 0.02s 0.02s -bash
root pts/2 10.10.1.139 13:25 2:01m 0.02s 0.02s -bash
root pts/3 10.10.2.159 13:25 2:01m 0.02s 0.02s -bash
root pts/4 172.16.115.16 13:25 2:01m 0.02s 0.02s -bash
root@debian:~# pkill -kill -t pts/0
其它:通过用户的ssh进程号来中断用户连接:
使用pstree -p 命令来查出用户的会话ID。
.............................
├─sshd(928)───sshd(5649)───bash(5793)───pstree(13046)
├─syslog-ng(3092)
├─systemd-journal(223)
├─systemd-logind(959)
└─systemd-udevd(224)
根据上图中的sshd部分,删除最近连接的会话5649。
kill -9 5649