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