Wenn Sie über SSH bei einem entfernten Linux-System angemeldet sind, müssen Sie sich nur mit dem Exit-Befehl von SSH abmelden.
exit
Das ist gut. Aber was ist, wenn Sie einen anderen Benutzer von der SSH-Verbindung abmelden möchten?
In diesem kurzen Tipp zeige ich Ihnen, wie Sie jeden Benutzer aus dem System werfen können.
Loggen Sie einen Benutzer von der SSH-Sitzung ab
Überprüfen Sie zunächst die Liste der angemeldeten Benutzer auf Ihrem Linux-Server. Dazu gibt es verschiedene Möglichkeiten. Ich verwende den who-Befehl mit der Option -u
. Diese Option zeigt die Prozess-ID der Login-Shell-Sitzung der Benutzer an.
who -u
Hier ist eine Beispielausgabe:
[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)
Stellen Sie sich nun vor, dass ich prakash
kicken möchte aus der SSH-Sitzung. Die Prozess-ID seiner Shell-Sitzung ist 32004. Wenn Sie die Login-Shell-Sitzung beenden, wird die Verbindung des Benutzers getrennt.
Dazu können Sie den Kill-Befehl verwenden, um ein SIGHUP
zu senden Signal. Dieses Signal wird verwendet, um zu melden, dass das Endgerät des Benutzers getrennt ist. Es trennt auch effektiv alle Prozesse in der Sitzung vom steuernden Terminal.
sudo kill -HUP 32004
Um eine solche Aktion auszuführen, müssen Sie natürlich entweder root oder ein sudo-Benutzer sein.
Es gibt ein paar Dinge, die Sie wissen und tun sollten.
Senden Sie eine Nachricht, bevor Sie die Sitzung beenden
Es ist eine gute Idee, den Endbenutzer zu informieren, bevor Sie seine Sitzung beenden. Sie können den Schreibbefehl verwenden, um schnell eine Nachricht an den Benutzer zu senden:
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
Erzwingen Sie das Beenden einer SSH-Sitzung, wenn SIGNHUP nicht funktioniert
Wenn das SIGHUP-Signal nicht funktioniert, senden Sie das SIGKILL-Signal.
sudo kill -9 32004
Sie können sich auch a abmelden Benutzer aus ausgewählter Sitzung, wenn der Benutzer mehr als eine SSH-Sitzung hat
Wenn derselbe Benutzer von mehr als einem System oder Terminal aus angemeldet ist, ist nur die Sitzung betroffen, die Sie beenden. Es wird den Benutzer nicht aus allen Sitzungen werfen.
Dies ist der Fall, wenn Ihre SSH-Sitzung aus irgendeinem Grund wie der Netzwerktrennung auflegt. Sie können das Terminal beenden und eine weitere SSH-Sitzung von einem neuen Terminal aus öffnen, aber jetzt sehen Sie sich zweimal beim System angemeldet.
In diesem Fall können Sie die Sitzung schließen, die nicht mehr aktiv sein soll.
Sie können anhand des Zeitpunkts der Anmeldung, der in der Ausgabe von who
sichtbar ist, erkennen, welcher Benutzer gestartet werden soll Befehl. Keine Sorge, der schlimmste Fall wäre, dass Sie sich von Ihrer aktuellen Sitzung abmelden. Aber dann kannst du dich wieder einloggen.
Ich hoffe, dieser kurze Tipp hat Ihnen geholfen, einen Benutzer von der SSH-Sitzung unter Linux abzumelden. Ihre Fragen und Anregungen sind willkommen.