Heim > System-Tutorial > LINUX > So beenden Sie ungenutzte oder inaktive SSH-Sitzungen

So beenden Sie ungenutzte oder inaktive SSH-Sitzungen

WBOY
Freigeben: 2024-01-03 14:24:27
nach vorne
1252 Leute haben es durchsucht
Einführung Wie schließe ich eine inaktive SSH-Sitzung? Verwenden Sie zuerst den Befehl w, um die inaktive oder inaktive SSH-Sitzung zu identifizieren, verwenden Sie dann den Befehl pstree, um die PID der inaktiven Sitzung abzurufen, und verwenden Sie schließlich den Befehl kill, um die Sitzung zu schließen.

So beenden Sie ungenutzte oder inaktive SSH-Sitzungen
Nehmen wir an, dass Ihre Sitzungsverbindung aufgrund von Netzwerk-, Strom- oder lokalen PC-Neustarts unterbrochen wird, wenn Sie über SSH an einem Server arbeiten.

Sie können sich möglicherweise erneut beim Server anmelden, um mit der Arbeit fortzufahren, es bleibt jedoch immer die SSH-Sitzung übrig, die zuvor nicht geschlossen wurde.

Wie schließe ich eine inaktive SSH-Sitzung? Verwenden Sie zuerst den Befehl w, um die inaktive oder inaktive SSH-Sitzung zu identifizieren, verwenden Sie dann den Befehl pstree, um die PID der inaktiven Sitzung abzurufen, und verwenden Sie schließlich den Befehl kill, um die Sitzung zu schließen.

Empfohlene Lektüre: Mosh (Mobile Shell) – Die beste SSH-Fernverbindungsalternative

So identifizieren Sie inaktive oder inaktive SSH-Sitzungen

Melden Sie sich beim System an und überprüfen Sie mit dem Befehl w, wie viele Benutzer derzeit angemeldet sind. Sobald Sie Ihre Sitzungsverbindung identifiziert haben, können Sie andere inaktive oder inaktive SSH-Sitzungen zum Schließen notieren.
In meinem aktuellen Beispiel sehe ich zwei angemeldete Benutzer, von denen einer die SSH-Sitzung ist, in der ich gerade den Befehl „w“ ausführe, und der andere die vorherige Sitzung im Leerlauf.

# w
10:36:39 up 26 days, 20:29, 2 users, load average: 0.00, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 219.91.219.14 10:34 28.00s 0.00s 0.00s -bash
root pts/2 219.91.219.14 10:36 0.00s 0.00s 0.00s w
Nach dem Login kopieren
So erhalten Sie die PID einer SSH-Sitzung

Um eine inaktive SSH-Sitzung zu schließen, benötigen wir die PID des übergeordneten Prozesses des inaktiven Sitzungsprozesses. Wir können den Befehl pstree ausführen, um ein Baumdiagramm einschließlich aller Prozesse anzuzeigen und die PID des übergeordneten Prozesses zu erhalten.
Sie erhalten eine Ausgabe ähnlich dem folgenden Beispiel. Die Ausgabe des Befehls pstree wird viel mehr sein, und ich habe zum besseren Verständnis viele irrelevante Inhalte gelöscht.

# pstree -p
init(1)-+-abrtd(2131)
|-acpid(1958)
|-httpd(32413)-+-httpd(32442)
|
|-mingetty(2198)
|-mysqld_safe(24298)---mysqld(24376)-+-{mysqld}(24378)
|
|-php(32456)-+-php(32457)
|
|-sshd(2023)-+-sshd(10132)---bash(10136)
| `-sshd(10199)---bash(10208)---pstree(10226)
|-udevd(774)-+-udevd(2191)
`-udevd(27282)
Nach dem Login kopieren

In der obigen Ausgabe sehen Sie ein Baumdiagramm der SSHD-Prozesse und -Zweige. Der Hauptprozess von sshd ist sshd (2023), und die anderen beiden Zweige sind sshd (10132) und sshd (10199).

Wie ich am Anfang des Artikels sagte, ist eine davon meine neue Sitzungsverbindung sshd(10199), die den pstree-Befehl anzeigt, den ich ausführe, sodass die Leerlaufsitzung ein anderer Prozess als sshd(10132) ist.

Empfohlene Lektüre: So greifen Sie über einen Standard-Webbrowser auf den Secure Shell (SSH)-Server zu
Empfohlene Lektüre: PSSH – Befehle parallel auf mehreren Linux-Servern ausführen

So schließen Sie eine inaktive SSH-Sitzung

Wir haben alle Informationen zu Leerlaufsitzungen. Lassen Sie uns also den Befehl kill verwenden, um die Leerlaufsitzung zu schließen. Bitte stellen Sie sicher, dass Sie die unten stehende PID durch die PID für die Leerlaufsitzung auf Ihrem Server ersetzen.

# kill -9 10132
Nach dem Login kopieren

(LCTT-Übersetzung: Hier ist ein weiteres Tool pkill. Verwenden Sie pkill -t pts/0 -kill, um die Sitzung zu schließen. Es ist unter Debian 8 verfügbar. Einige Versionen scheinen die Position von -kill ändern zu müssen)

Überprüfen Sie noch einmal, ob die Leerlaufsitzung geschlossen wurde

Verwenden Sie den w-Befehl erneut, um zu sehen, ob die Leerlaufsitzung geschlossen wurde. Das ist richtig, nur meine aktuelle Sitzung ist noch da, daher wurde die inaktive Sitzung geschlossen.

# w
10:40:18 up 26 days, 20:33, 1 user, load average: 0.11, 0.04, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 219.91.219.14 10:36 0.00s 0.00s 0.00s w
Nach dem Login kopieren

Empfohlene Lektüre: rtop – ein nützliches Tool zur Überwachung von Remote-Servern über SSH

Empfohlene Lektüre: DSH – Befehle auf mehreren Linux-Servern gleichzeitig ausführen

Überprüfen Sie es noch einmal mit dem pstree-Befehl

Verwenden Sie zur Bestätigung erneut den pstree-Befehl. Ja, nur meine eigene SSH-Sitzung ist noch da.

# pstree -p
init(1)-+-abrtd(2131)
|-acpid(1958)
|
|-httpd(32413)-+-httpd(32442)
|
|-mingetty(2198)
|-mysqld_safe(24298)---mysqld(24376)-+-{mysqld}(24378)
|
|-php(32456)-+-php(32457)
|
|-sshd(2023)---sshd(10199)---bash(10208)---pstree(10431)
|-udevd(774)-+-udevd(2191)
`-udevd(27282)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo beenden Sie ungenutzte oder inaktive SSH-Sitzungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage