Jak mogę wylogować się z otwartej, zdalnej sesji SSH?

48

Wpadłem na maszynę Linux (powłokę bash) z publicznej maszyny Windows (w naszym laboratorium) i zapomniałem się wylogować. Jestem z powrotem na swoim miejscu w innym pokoju i jestem zbyt leniwy, aby wrócić i wylogować się z tej sesji; Jednak mogę ssh na maszynę z Linuksem z mojego obecnego komputera. Czy mogę wymusić wylogowanie drugiej sesji z nowej sesji SSH?

Kiedy ssh do Linux-a z mojego obecnego komputera i wpisuję userspolecenie, widzę, że nadal jestem tam zalogowany; moje imię jest wymienione dwa razy - jeden dla bieżącej sesji, a drugi dla sesji z komputera PC.

Nie mam uprawnień administratora na tym komputerze, ale myślę, że to nie powinno mieć znaczenia, ponieważ próbuję się wylogować.

Amarghosh
źródło

Odpowiedzi:

73

Uruchom ttybieżącą sesję, aby dowiedzieć się, na którym urządzeniu pracujesz, aby nie wylogować się z bieżącej sesji. Uruchom, w aby wyświetlić bieżących użytkowników i powiązane pseudo-terminale (tty). Zakładając, że jesteś zalogowany dwa razy i nie ma innych użytkowników na twoim serwerze ssh, twoja poprzednia sesja ssh będzie włączona pts/0i aktualna pts/1. Aby porzucić sesję, po pts/0prostu zabij procesy, które są z nią powiązane

pkill -9 -t pts/0 
Casual Coder
źródło
Z jakiegoś powodu pkill -9 pts/tty-numbernie działało dla mnie; potem znalazłem pid procesu za pomocą ps aux | grep amari próbowałem pkill -9 -P pidi zadziałało. Dzięki!
Amarghosh
7
pkill -9 -t pts/tty-number. -tto przełącznik określającytty
Casual Coder
Ups, jakoś mi tego brakowało -tw twojej odpowiedzi, gdy przeczytałem ją po raz pierwszy.
Amarghosh
+1, świetna poprawka. Właśnie zresetowałem router, gdy korzystałem z SSHing na maszynie w tej samej sieci, a potem zdałem sobie sprawę, że sesja została zalogowana ... To działało idealnie.
Przełom
6
Znalazłem to pytanie dzisiaj (i działa świetnie, więc dziękuję!), Ale uznałem, że -9brzmiało to nieco ostro. -HUPWystarczyło mi proste .
Matijs,
4

Zakładając, że nie masz żadnych innych procesów, których nie chcesz mieć 86 lat, możesz po prostu:

$ ssh <systemname> pkill -u <yourlogin>

A druga sesja odejdzie.

P. Heffner
źródło
0

Możesz pisać:

~.

Nie zobaczysz, że go wpisałeś, ale zamknie połączenie.

dzwonki
źródło
Chciałbym zasugerować, aby polecić, superuser.com/help/how-to-answer pomoże Ci skomponować lepszy tekst.
Rajesh S