我如何通过 ssh 查找并断开与 Linux 的连接?

我如何通过 ssh 查找并断开与 Linux 的连接?

我在 Linux 上拥有 root 权限。我从外部登录但忘记断开连接。如何通过 ssh 找到并断开与 Linux 的连接?

答案1

# netstat -atpn | grep ssh
tcp        0      0 192.168.1.X:22         192.168.1.Y:43381     ESTABLISHED 1772/sshd

在我的例子中,1772是 SSH shell 进程的 PID。您需要找出它是哪一个(可能从源 IP 地址中推断出来,在我的例子中是192.168.1.Y)。

一旦你弄清楚了,只需杀死它:

# kill -9 1772

应该如果您有一段时间没有看管 root 密码,请更改它,以防万一。

答案2

使用 w 可以查看系统上的当前用户,包括他们的用户名和他们来自哪里(就 SSH 而言是 IP 地址)。然后,您可以使用 IP 地址通过 netstat 进行过滤:

[root@server ~] # w
 23:25:40 up 6 days, 16:41,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
joakim   pts/0    22.231.113.64    Mon22    2days  0.00s  0.00s -bash
[root@server ~] # netstat -natp | grep 22.231.113.64
tcp        0      0 194.66.82.11:22             22.231.113.64:57235          ESTABLISHED 8435/sshd
[root@server ~] # kill -9 8435

相关内容