如何注销打开的远程 SSH 会话?

Ama*_*osh 54 linux ssh

我从公共 Windows 机器(在我们的实验室中)进入 Linux 机器(bash shell),但忘记注销。我现在回到另一个房间的座位上,我懒得走回去注销那个会话;不过,我可以从我当前的 PC ssh 进入 Linux 机器。我可以从新的 SSH 会话中强制注销另一个会话吗?

当我从我当前的 PC ssh 到 Linux 机器并输入users命令时,我可以看到我仍然登录在那里;我的名字被列出两次 - 一个用于当前会话,另一个用于实验室 PC​​ 的会话。

我在上述机器上没有 root 权限,但我想这无关紧要,因为我只是想自己注销。

Cas*_*der 80

tty在当前会话上运行,以找出您正在使用哪个 tty,这样您就不会从当前会话中注销自己。运行w 以向您显示当前用户和相关的伪终端(tty)。假设您登录了两次并且您的 ssh 服务器上没有其他用户,则您之前的 ssh 会话将打开pts/0并且当前在pts/1。要放弃会话,pts/0只需杀死与其关联的进程

pkill -9 -t pts/0 
Run Code Online (Sandbox Code Playgroud)

  • `pkill -9 -t pts/tty-number`。`-t` 是指定 `tty` 的开关 (7认同)
  • 今天发现了这个问题(效果很好,所以谢谢!)但发现 `-9` 听起来有点刺耳。一个简单的`-HUP` 对我来说就足够了。 (6认同)

小智 5

假设您没有任何其他不想被 86 处理的进程,您可以这样做:

$ ssh <systemname> pkill -u <yourlogin>
Run Code Online (Sandbox Code Playgroud)

另一个会话将消失。