本篇文章分享了如何在Linux系统中注销其他SSH连接的用户。
如果通过SSH登录到远程Linux系统,则只需使用exit命令注销SSH。
exit
没关系。但是,如果您想从SSH连接中注销其他用户,该怎么办?
在这个快速提示中,我将向您展示如何将任何用户踢出系统。
从SSH会话注销用户
首先,检查Linux服务器上已登录用户的列表。有多种方法可以做到这一点。我将使用who命令和参数 -u
。此选项显示用户的登录Shell会话的进程ID。
who -u
这是一个示例输出:
root@localhost:~# who -uabhishek pts/0 2021-04-05 09:25 00:01 31970 (223.180.180.107)prakash pts/1 2021-04-05 09:26 . 32004 (223.180.180.107)root pts/2 2021-04-05 09:26 . 32039 (223.180.180.107)
现在想象一下,我想prakash
在SSH会话中使用它。其Shell会话的进程ID为32004。如果您终止了登录Shell会话,则用户将断开连接。
为此,您可以使用kill命令发送SIGHUP
信号。此信号用于报告用户终端已断开连接。它还有效地断开了会话中的所有进程与控制终端的连接。
sudo kill -HUP 32004
当然,要执行此操作,您需要是root或sudo用户。
您应该了解并做一些事情。
在终止会话之前发送消息
在终止最终用户会话之前,最好通知最终用户。您可以使用write命令以这种方式快速向用户发送消息:
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
如果SIGNHUP不起作用,则强制终止SSH会话
如果SIGHUP信号不起作用,则发送SIGKILL信号。
sudo kill -9 32004
如果该用户具有多个SSH会话,也可以从该会话中注销该用户
如果同一用户从多个系统或终端登录,则仅影响您要终止的会话。它不会将用户踢出所有会话。
当您的SSH会话由于某种原因(例如网络断开连接)而挂起时,就是这种情况。您可以杀死终端并从新终端打开另一个SSH会话,但是现在您看到自己两次登录系统。
在这种情况下,您可以关闭不再活动的会话。
您可以确定哪个用户从日志的时间开始,在该who
命令的输出中可以看到该用户。不用担心,最糟糕的情况是您从当前会话开始。但是您可以再次登录。
我希望这个快速技巧可以帮助您从Linux的SSH会话中注销用户。欢迎您提出问题和建议。
评论前必须登录!
注册