Linux踢出其他正在SSH登陆用户

 
 

在一些生产平台或者做安全审计的时候往往看到一大堆的用户SSH连接到同一台服务器,或者连接后没有正常关闭进程还驻留在系统内。限制SSH连接数与手动断开空闲连接也有必要之举,这里写出手动剔出其他用户的过程。

1、查看系统在线用户

[root@apache ~]# w 
14:15:41 up 42 days, 56 min,  2 users,  load average: 0.07, 0.02, 0.00 
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
root     pts/0    116.204.64.165   14:15    0.00s  0.06s  0.04s w 
root     pts/1    116.204.64.165   14:15    2.00s  0.02s  0.02s –bash

2、查看当前自己占用终端,别把自己干掉了

[root@apache ~]# who am i 
root     pts/0        2013-01-16 14:15 (116.204.64.165)

3、用pkill 命令剔除对方

[root@apache ~]# pkill -kill -t pts/1

4、用w命令在看看干掉没。

[root@apache ~]# w 
14:19:47 up 42 days,  1:00,  1 user,  load average: 0.00, 0.00, 0.00 
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
root     pts/0    116.204.64.165   14:15    0.00s  0.03s  0.00s w

 

后记:

如果最后查看还是没有干掉,建议加上-9 强制杀死。

[root@apache ~]# pkill -9 -t pts/1

#

###

  Linux 是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。 

查看用户的操作 

  系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令: 



可以看到执行W命令及显示结果。 

命令信息含义 

上述显示的信息分别表示如下: 
第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆哟内用户总数及系统平均负载信息。对于上述中的几个显示数据意义为: 

15:59:27 表示执行W的时间。 
up 1:01 表示系统运行时间。 
4 USERS 表示当前系统登陆用户总数。 
LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。 

从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。 

USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。 
TTY:用户登陆所用的终端。 
FROM:显示用户在何处登陆系统。 
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。 
IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。 
JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。 
PCPU:指WHAT域的任务执行后耗费的CPU时间。 
WHAT:表示当前执行的任务。 

查看某用户 

  当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况。 

 

  默认情况下,系统会显示上述所有的信息,如果只关心某一方面,可以只使用相关的选项。 

查看登陆用户 

  同样,系统管理员若想知道某一时刻登陆的用户,可以使用系统提供的who命令,该命令可以查看当前登陆到系统的用户及其他信息: 

 

  可以看出上述信息与 W 命令非常相似。如果想让列表更详细一些,可以加上选项-HIT等,就可以得到该用户是否愿意接受其他用户信息(-T)还可以显示空闲时间(-I)及标题栏(-H)。如果某各用户愿意接受信息,会在MESG栏中显示一个“+”,这是还可以使用命令MESG给用户发从信息。 

查看登陆用户历史 

  系统管理员若想知道系统中用户登陆的历史行为,还可以察看用户曾经登陆到系统。使用LAST 命令可以查询曾经登陆用户的信息: 



  使用LAST 命令时,列出的文件内容会非常多,根本看不清楚。此时可以使用前面介绍的管理方式来观看,例如/LAST/ LESS,则可以查看前后内容。同查看用户情况一样,想查看那某个用户的登陆情况,也可以在LAST命令后加上用户名,则系统只会显示该用户登陆系统情况。 

  执行last命令其实是显示/var/log/目录下的wtmp文件内容。Wtmp文件是以二进制格式进行存储的,如果直接使用文本编辑器查看,查看的会是一堆乱码。 

【转载】Linux踢出其他正在SSH登陆用户的更多相关文章

  1. Linux踢出其他正在SSH登陆用户

    1.查看系统在线用户 [root@testdb ~]#w 2.查看哪个属于此时自己的终端(我开了两个连接) [root@testdb ~]# who am i 3.pkill掉自己不适用的终端 [ro ...

  2. linux 踢出用户方法

    linux系统root用户可强制踢制其它登录用户, 首先以root登录以便查看全部的在线用户信息,可用w命令查看登录用户信息 强制踢人命令格式:pkill -kill -t tty 解释: pkill ...

  3. Linux踢出已登录用户

    1.使用w命令可以查看当前登录系统的所有用户 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 - 08:05 4:29 0.09s 0.09s - ...

  4. 踢出某正在访问的用户||永久禁止某IP访问

    转至:https://blog.csdn.net/weixin_34408717/article/details/85527305?utm_medium=distribute.pc_aggpage_s ...

  5. Linux踢出登陆用户的正确姿势

    首先who(或w)查看需要杀死的终端名,然后执行: pkill -9 -t pts/? pkill相当于ps和kill的结合,用法和killall类似,根据进程名来杀死一类进程(kill是杀死单个) ...

  6. Linux上强制踢出其他正在登录的用户

    一.查看当前在线用户有几个 w命令 [root@pa1 nginx]#w 13:36:00 up 79 days, 23:50, 3 users, load average: 0.10, 0.07, ...

  7. Linux系统下查看已经登录用户并踢出的方法

    LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务. 查看用户的操作 查看当前用户: [ROOT@LOCALHOST ROOT] # W                    ...

  8. Windows SubSystem for Linux(WSL)设置默认和设置默认登陆用户

    使用wslconfig命令进行管理 1.  设置默认运行的linux系统 wslconfig /setdefault <DistributionName> 正如上面所说,如果执行wslco ...

  9. Linux下管理员强行踢出用户的命令使用方法

    Linux强制踢出用户命令: 一.输入w命令查看已登录用户信息 [root@KW_S01_192.168.1.106_A ~]# w 19:22:31 up  2:11,  3 users,  loa ...

随机推荐

  1. 批量实现SSH无密码登陆认证脚本

    批量实现SSH无密码登陆认证脚本 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-key-ge ...

  2. C++并发与多线程学习笔记--多线程数据共享问题

    创建和等待多个线程 数据和共享问题分析 只读的数据 有读有写 其他案例 共享数据的保护案例代码 创建和等待多个线程 服务端后台开发就需要多个线程执行不同的任务.不同的线程执行不同任务,并返回执行结果. ...

  3. 201871010109-胡欢欢-实验一-软件工程的准备(初识github及《现代软件工程-构建之法》)

    项目 内容 课程班级博客链接 2021年春软件工程课程班(2018级计算机科学与技术) 这个作业要求链接链接 实验一软件工程准备 我的课程学习目标 了解github的基本使用,学习markdown编辑 ...

  4. 02_利用numpy解决线性回归问题

    02_利用numpy解决线性回归问题 目录 一.引言 二.线性回归简单介绍 2.1 线性回归三要素 2.2 损失函数 2.3 梯度下降 三.解决线性回归问题的五个步骤 四.利用Numpy实战解决线性回 ...

  5. 火爆外网的 DGS 框架使用

    Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现. GraphQL 主要是作用于 ...

  6. 在一些64位的glibc的payload调用system函数失败问题

    在一些64位的glibc的payload调用system函数失败问题 当我在做题的时候就发现一个奇怪的事情,我在ubuntu16.04运行成功的exp在ubuntu 18.04却报出了timeout: ...

  7. OkHttp配置HTTPS访问+服务器部署

    1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() HostnameVerifier X509TrustManager 第一个是ssl套接字工厂,第二 ...

  8. MySQL学习之路(一)锁机制

    1 锁的分类 1.1 操作类型 读锁(共享锁):针对同一份数据,多个操作可以同时进行而不会互相影响 写锁(排它锁):当写操作没有完成前,它会阻塞其他读锁或者写锁 1.2 操作粒度 表锁:锁住整张表 行 ...

  9. Day11_49_HashTable

    HashTable * HashTable是较早期的使用Hash算法的一种容器结构,现在基本已被淘汰,单线程多使用HashMap,多线程使用ConcurrentHashMap. * HashTable ...

  10. mybatis的本质和原理

    背景 项目需要,我们需要自己做一套mybatis,或者使用大部分mybatis的原始内容.对其改造,以适应需要.这就要求我再次学习一下mybatis,对它有更深入的了解. 是什么    MyBatis ...