如何杀死不活动的SSH会话
当您已经多次与服务器断开连接,导致ssh会话处于非活动状态,使用pstree识别空闲SSH会话或者使用htop识别空闲的SSH会话,然后是使用kill杀死ssh空闲会话,在本教程中,我们将说明如何查找空闲ssh进程并kill掉它
2 min read
By
myfreax
当您已经多次与服务器断开连接,导致ssh会话处于非活动状态。您知道这一点是因为当您使用“ w ”命令时,您会看到如下所示的内容……
22:47:28 up 315 days, 21:09, 2 users, load average: 9.04, 8.17, 7.30
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 ipxxx-xxx-xxx-xxx 23:54 26:40 9.26s 0.86s -bash
root pts/1 ipxxx-xxx-xxx-xxx 22:44 0.00s 0.00s 0.00s w
在本教程中,我们将说明如何查找空闲ssh进程并kill掉它。
使用pstree识别空闲SSH会话
有几种方法可以终止空闲的ssh会话。包括编辑您的sshd_config,但这里有一个简单的事后方法:
运行pstree命令:
pstree -p
输出将如下所示:
├─sshd(3102)─┬─sshd( 3649 )───bash(3656)│
└─sshd(16680)───bash(16687)───pstree(17073)
要终止空闲的ssh会话,请键入:
kill 3649
将3649替换为您的空闲ssh会话进程ID。然后用“w”命令检查。
现在为了防止将来发生这种情况,让我们编辑/etc/ssh/sshd_config并添加以下两行配置:
ClientAliveInterval 600
ClientAliveCountMax 3
使用htop识别空闲的SSH会话
识别空闲(孤立的ssh会话)的另一种方法是使用htop。我们可以看到不活动的ssh会话下方,“top”命令仍在运行。