如何在 Linux 中注銷其他 SSH 用戶
如果你通過 ssh 登錄了一個遠程 Linux 系統,只需要使用 exit 命令即可退出 ssh。那么,如果你想要注銷其他通過 ssh 登錄到系統中的用戶呢?
在 ssh 會話中注銷用戶
首先,檢查 Linux 系統中已登錄的用戶列表。要實現這一點有多種方法,在這里我們使用 who 命令,連同 -u 選項,會顯示登錄到系統中 shell 會話的進程 ID:
其輸出如下所示:?
那么接下來,假設我們的任務是從 ssh 會話中踢除用戶 prakash,其 shell 會話的進程 ID 為 32004。完成后該用戶將會斷開連接。
為此,可以使用?? kill 命令???發送一個 SIGHUP 信號,該信號用于報告用戶的終端已經斷開,還可以有效的斷開會話中所有進程與控制終端的連接。
當然,要執行這個操作,你需要是 root 用戶或者具有 sudo 權限。
作為一個相對友好的習慣,在踢掉用戶之前,最好發一條信息給他。發送信息可以使用 write 命令,如下所示:
那么,如果發送 SIGNHUP 信號不管用怎么辦?還可以強制終止 ssh 會話。
強制終止 ssh 會話
如果 SIGHUP 信號不起作用,則可以發送 SIGKILL 信號。
如果有多個 ssh 會話,可以從所選會話中注銷用戶
如果統一用戶從多個系統或終端登錄,上述操作只會影響我們要終止的會話,它不會將用戶的所有會話都踢除出去。
比如,當 ssh 會話由于某些原因(如網絡斷開)而掛斷,此時我們可以終止終端,并從新終端打開另一個 ssh 會話,這種情況下,我們可以看到自己登錄到系統兩次。
這個時候,我們需要關閉不在活動的會話。
在 who 命令的輸出中,我們可以根據登錄的時間來判斷要踢除哪個用戶。當然也有可能會因為錯誤的判斷而把自己踢掉,不過也沒關系,可以再次重新登錄。
以上就是本次分享全部內容,歡迎討論。