首頁  >  文章  >  系統教程  >  在Linux中如何註銷其他 SSH 用戶

在Linux中如何註銷其他 SSH 用戶

WBOY
WBOY轉載
2024-02-09 15:03:221296瀏覽

今天我們簡單介紹一下如何踢掉其他透過 ssh 連接到系統中的使用者。

在Linux中如何注销其他 SSH 用户

Pixelated word Linux made from cubes, mosaic pattern

如果你透過 ssh 登入了一個遠端 Linux 系統,你只需要使用 exit 指令即可登出 ssh。那麼,如果你想要登出其他透過 ssh 登入系統中的使用者呢?

在 ssh 會話中登出使用者

首先,檢查 Linux 系統中已登入的使用者清單。要實現這一點有多種方法,在這裡我們使用 who 命令,連同 -u 選項,會顯示登入系統中 shell 會話的進程 ID:

who -u

其輸出如下圖所示:

root@localhost:~# who -u
abhishek 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)

那麼接下來,假設我們的任務是從 ssh 會話中踢除使用者 prakash,其 shell 會話的進程 ID 為 32004。完成後該用戶將會斷開連線。

為此,可以使用 kill 指令發送 SIGHUP 訊號,用於報告使用者的終端機已經斷開,也可以有效的斷開會話中所有程序與控制終端的連線。

sudo kill -HUP 32004

當然,要執行這個操作,你需要是 root 使用者或具有 sudo 權限。

在Linux中如何注销其他 SSH 用户

作為一個相對友好的習慣,在踢掉用戶之前,最好先給他發訊息。發送訊息可以使用 write 指令,如下所示:

echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2

那麼,如果發送 SIGNHUP 訊號不管用怎麼辦?也可以強制終止 ssh 會話。

強制終止 ssh 會話

如果 SIGHUP 訊號不起作用,則可以發送 SIGKILL 訊號。

sudo kill -9 32004

如果有多個 ssh 會話,可以從所選會話中登出使用者

如果統一使用者從多個系統或終端登錄,上述操作只會影響我們要終止的會話,它不會將使用者的所有會話都踢除出去。

例如,當ssh 會話因某些原因(如網路斷開)而掛斷,此時我們可以終止終端,並從新終端開啟另一個ssh 會話,這種情況下,我們可以看到自己登入系統兩次。

這個時候,我們需要關閉不在活動的會話。

在 who 指令的輸出中,我們可以根據登入的時間來判斷要踢除哪個使用者。當然也有可能會因為錯誤的判斷而把自己踢掉,不過也沒關係,可以再重新登入。

在Linux中如何注销其他 SSH 用户

以上是在Linux中如何註銷其他 SSH 用戶的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除