Pokud jste přihlášeni ke vzdálenému systému Linux přes SSH, stačí k odhlášení ze SSH použít příkaz exit.
exit
To je v pořádku. Ale co když chcete odhlásit jiného uživatele z připojení SSH?
V tomto rychlém tipu vám ukážu, jak můžete vykopnout kteréhokoli uživatele ze systému.
Odhlásit uživatele z relace SSH
Nejprve zkontrolujte seznam přihlášených uživatelů k vašemu linuxovému serveru. Existují různé způsoby, jak toho dosáhnout. Použiji příkaz who s volbou -u
. Tato volba zobrazí ID procesu relace přihlašovacího shellu uživatelů.
who -u
Zde je ukázkový výstup:
[email protected]:~# 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)
A teď si představ, že chci vykopnout použití prakash
z relace SSH. ID procesu jeho shellové relace je 32004. Pokud ukončíte relaci přihlašovacího shellu, uživatel bude odpojen.
Chcete-li to provést, můžete použít příkaz kill k odeslání SIGHUP
signál. Tento signál se používá k hlášení, že je terminál uživatele odpojen. Také efektivně odpojí všechny procesy v relaci od řídicího terminálu.
sudo kill -HUP 32004
Samozřejmě k provedení takové akce musíte být buď root, nebo uživatel sudo.
Existuje několik věcí, které byste měli vědět a dělat.
Před ukončením relace odeslat zprávu
Před ukončením jeho relace je dobré informovat koncového uživatele. Pomocí příkazu write můžete rychle přehodit zprávu uživateli tímto způsobem:
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
Vynutit ukončení relace SSH, pokud SIGNHUP nefunguje
Pokud signál SIGHUP nefunguje, odešlete signál SIGKILL.
sudo kill -9 32004
Můžete se také odhlásit uživatel z vybrané relace, pokud má uživatel více než jednu relaci SSH
Pokud je stejný uživatel přihlášen z více než jednoho systému nebo terminálu, bude ovlivněna pouze relace, kterou zabíjíte. Nevykopne uživatele ze všech relací.
To je případ, kdy se vaše relace SSH z nějakého důvodu zavěsí, jako je odpojení sítě. Můžete zabít terminál a otevřít další relaci SSH z nového terminálu, ale nyní vidíte, že jste přihlášeni do systému dvakrát.
V takovém případě můžete zavřít relaci, která by již neměla být aktivní.
Podle načasování záznamu, který je viditelný ve výstupu who
, můžete určit, kterého uživatele spustit příkaz. Nebojte se, nejhorším případem by bylo, kdy byste se z aktuálního sezení vykopli. Ale pak se můžete znovu přihlásit.
Doufám, že vám tento rychlý tip pomohl odhlásit uživatele z relace SSH v Linuxu. Vaše dotazy a návrhy jsou vítány.