Come posso disconnettermi da una sessione SSH remota aperta?


48

Sono entrato in una macchina Linux (bash shell) da una macchina pubblica Windows (nel nostro laboratorio) e ho dimenticato di disconnettermi. Ora sono tornato al mio posto in un'altra stanza e sono troppo pigro per tornare indietro e disconnettermi da quella sessione; Tuttavia, posso accedere alla macchina Linux dal mio PC attuale. È possibile forzare il logout dell'altra sessione da una nuova sessione SSH?

Quando accedo a Linux dal mio attuale PC e usersscrivo il comando, posso vedere che sono ancora connesso; il mio nome è elencato due volte: uno per la sessione corrente e un altro per la sessione dal PC di laboratorio.

Non ho i privilegi di root su quella macchina, ma immagino che non dovrebbe importare perché sto solo provando a disconnettermi.

Risposte:


73

Esegui ttyla sessione corrente per scoprire su quale tty stai lavorando, in modo da non disconnetterti dalla sessione corrente. Esegui w per mostrare gli utenti attuali e gli pseudo-terminali associati (tty). Supponendo che sia stato effettuato l'accesso due volte e che non vi siano altri utenti sul server SSH, la sessione SSH precedente sarà attiva pts/0e attiva pts/1. Per abbandonare la sessione pts/0semplicemente uccidere i processi ad essa associati

pkill -9 -t pts/0 

Per qualche motivo, pkill -9 pts/tty-numbernon ha funzionato per me; poi ho trovato il pid del processo usando ps aux | grep amare provato pkill -9 -P pide ha funzionato. Grazie!
Amarghosh,

7
pkill -9 -t pts/tty-number. -tè l'interruttore da specificaretty
Casual Coder

Ops, in qualche modo mi è mancato questo -tnella tua risposta quando l'ho letto per primo.
Amarghosh,

+1, correzione eccezionale. Ho appena resettato il mio router mentre stavo SSHing su una macchina sulla stessa rete, e poi ho capito che ha lasciato la sessione registrata ... Funzionava perfettamente.
Sfondamento

6
Ho trovato questa domanda oggi (e funziona benissimo, quindi grazie!) Ma ho trovato il -9suono un po 'duro. Un semplice -HUPmi è bastato.
Matijs

4

Supponendo che tu non abbia altri processi che non vuoi avere, puoi semplicemente fare:

$ ssh <systemname> pkill -u <yourlogin>

E l'altra sessione andrà via.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.