Hur man loggar ut en annan användare ssh-anslutning via kommandorad i Mac OS eller Linux
Innehållsförteckning:
Att använda SSH, eller Secure Shell, är ett mycket vanligt sätt att upprätta fjärranslutningar till Mac- och Linux-datorer från kommandoraden. Om du är systemadministratör, eller om du har SSH aktiverat på en Mac av en annan anledning, kan du så småningom behöva logga ut en annan användares ssh-anslutning. Det finns flera sätt att avsluta en användares ssh-anslutning till en Mac (eller Linux-box för den delen, dessa tips gäller lika mycket där också), och vi kommer att täcka några av dem.
observera att dessa metoder fungerar för att logga ut en användares ssh-anslutning, oavsett hur du aktiverade SSH på datorn. Huruvida Macen aktiverar ssh med fjärrinloggning eller aktiverar ssh via kommandoraden spelar ingen roll för dessa ändamål. På samma sätt är dessa trick skrivna med MacOS och Mac OS X i åtanke, men de gäller även för att avsluta ssh-användarprocesser i Linux och de flesta andra Unix-varianter.
Hur man loggar ut en användares ssh-anslutning
Det kanske vanligaste sättet att logga ut en användare som är ansluten via ssh är att använda kill- eller pkill-kommandona, antingen inriktat på den specifika ssh-processen i fråga eller användarkontot direkt.
Loggar ut ssh Användare med kill
Hämta först process-ID (PID) för användarens ssh-anslutning:
ps aux | grep sshd
Nästa, lokalisera den specifika processen för målanvändarnas ssh-anslutning och rikta in den med kill -9. Låt oss till exempel anta att vi vill avsluta användarens Walrus ssh-anslutning och processen för 'sshd: Walrus@ttys011' har ett PID på 5821:
kill -9 5821
Effekten är omedelbar och när användarna kommer att se ett meddelande på terminalskärmen som säger: "Anslutning till lokal värd stängd av fjärrvärd. Anslutning till lokal värd stängd."
Broadly Ending a Users SSH-anslutning och relaterade processer med pkill
Ett annat bredare tillvägagångssätt är att döda alla processer som tillhör ett specifikt användarkonto med pkill, detta låter dig helt enkelt rikta in dig på ett användarkonto istället för ett process-ID:
pkill -u användarnamn
Detta kommer omedelbart att logga ut användarens "användarnamn" genom att avsluta alla användarens processer.
Pkill-metoden är användbar eftersom den också accepterar jokertecken och du kan också enkelt rikta in en process efter namn om du till exempel vill avsluta alla ssh-processer.
Det finns andra möjligheter att avsluta en annan användares ssh-anslutning, men ovanstående knep är kanske de mest intuitiva för kunniga kommandoradsanvändare.I princip alla metoder som låter dig se de pågående processerna och lokalisera de förväntade användarnas ssh-anslutning kommer att fungera för att uppnå samma effekt; Att avsluta den processen kommer att resultera i att användaren loggas ut från ssh.
Loggar ut SSH-användare från en Mac med Activity Monitor
Om du är en Mac-användare som föredrar att stanna kvar i det grafiska gränssnittet kan du också använda Activity Monitor för att lokalisera uppgiften och avsluta den på det sättet, på samma sätt som du skulle tvinga att avsluta Mac appar i allmänhet. Öppna helt enkelt Activity Monitor, sök efter "ssh" och hitta användarens ssh-anslutning som du vill avsluta, och avsluta sedan den processen via Activity Monitor.
Eftersom detta tillvägagångssätt använder Activity Monitor, ett inbyggt Mac-verktyg, kommer den här metoden uppenbarligen inte att fungera för linux-maskiner eftersom de inte har det verktyget, medan alla andra metoder för att inrikta processen skulle göra det.
Och bara om du undrar, ja, allt detta skulle fungera i princip likadant med telnet, skärmdelning eller någon annan fjärranslutningsmetod, genom att rikta in sig på de relevanta processerna som är specifika för den inloggade användaren konto.
Om du känner till några andra metoder eller tillvägagångssätt för att logga ut användares ssh-anslutningar eller koppla bort användare från ssh, dela med oss i kommentarerna nedan!