当您已经多次与服务器断开连接,导致ssh会话处于非活动状态。您知道这一点是因为当您使用“ w ”命令时,您会看到如下所示的内容……

22:47:28 up 315 days, 21:09, 2 users, load average: 9.04, 8.17, 7.30
USER TTY FROM [email protected] 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”命令仍在运行。

htop pid 检查