A-Z-Befehle

So halten Sie Remote-SSH-Sitzungen nach der Trennung am Laufen

So halten Sie Remote-SSH-Sitzungen nach der Trennung am Laufen

SSH (Secure Shell) ist das Ende-zu-Ende-verschlüsselte Netzwerksystem, mit dem Benutzer remote vom Client auf den Server oder das System zugreifen können. Aufgrund seines asymmetrischen Kryptografie-Sicherheitssystems ist der Zugriff auf den Server selbst von einem unsicheren Client-Netzwerk ziemlich sicher. Aber manchmal kann der SSH-Fernzugriff aufgrund von Inaktivität oder einem schlechten Netzwerksignal unterbrochen werden. Was auch immer der Grund ist, als Linux-Administrator ist es eine wichtige Aufgabe, SSH-Sitzungen und -Prozesse nach dem Trennen am Laufen zu halten.

Gründe, warum SSH-Sitzungen getrennt werden


Kurz gesagt, ein SSH-Tunnel-Proxy-Fehler, ein Netzwerk-Timeout, die Verwendung des falschen Netzwerk-Ports oder sogar nicht als Root-Benutzer bei Ihrem System angemeldet können Sie auch von der SSH-Fernverwaltung trennen. In diesem Beitrag werden wir die am häufigsten gestellte Frage zu SSH diskutieren. So halten Sie SSH-Sitzungen und -Prozesse am Laufen, nachdem die Verbindung getrennt wurde.

1. Führen Sie weiterhin SSH-Sitzungen mit dem Bildschirm Befehl


Das Bildschirm Befehl ist der am häufigsten verwendete und nützlichste Befehl für die SSH-Administration. Das Bildschirm -Befehl kann Hostnamenprobleme sowohl für IPv4- als auch für IPv6-Adressen lösen. Mit Root-Funktionalitäten Bildschirm Befehl kann eine Sitzung vom Client-Ende zum Server-Ende abmelden oder schließen. Wenn Sie ein Neuling bei Linux SSH sind, finden Sie hier einige CLIs, die Ihnen beim Installieren und Auffinden von Handbüchern von Bildschirm Befehl.

Für Ubuntu:

$ sudo apt-Installationsbildschirm

Für OpenSUSE:

$ sudo zypper Installationsbildschirm

Für Arch-Linux:

$ sudo pacman -S-Bildschirm

Für Red Hat Enterprise Linux:

$ sudo yum Installationsbildschirm

Nachdem Sie die Installation abgeschlossen haben, beginnen Sie mit der Überwachung Ihres Systemstartbildschirms.

$ screen $ screen --help

Sobald Sie den Zugriff haben, SSH in den Server, möchten Sie aus der Ferne zugreifen. Wenn Sie von Ihrer Station aus eine lange Nachtarbeit planen, aber Ihren SSH-Client nicht herunterfahren möchten, können Sie die Bildschirm Befehl. Dies kann Ihre Bildschirmsitzung trennen, aber keine Sorge, die von Ihnen eingeleiteten Aufgaben werden abgeschlossen.

Um Ihren Bildschirm zu trennen, drücken Sie Strg-A und dann Strg-D von deiner Tastatur. Sie können sich jederzeit einloggen, um den Arbeitsfortschritt von Ihrem Terminal aus zu verfolgen. Verwenden Sie die folgende CLI ., um sich mit der Sitzung erneut zu verbinden oder eine Verbindung mit der bestehenden herzustellen.

$ Bildschirm -r Bildschirm -D -r

2. Führen Sie weiterhin SSH-Sitzungen mit dem tmux Werkzeug


Der tmux- oder Terminal-Multiplexer ist ein sehr beliebtes und nützliches Werkzeug für Programmierer und Systemadministratoren, mit dem Benutzer zwischen Programmen im selben Terminal wechseln können. Damit SSH-Sitzungen im Hintergrund laufen, tmux kann eine sehr schnelle lösung sein. Es kann Anwendungen trennen und wieder anhängen, bei denen die Prozesse im Hintergrund ausgeführt werden. Hier ist die Installationsanleitung von tmux für Linux-Distributionen.

Für Arch-Linux:

$ sudo pacman -S tmux

Für Red Hat Enterprise Linux:

$ sudo yum installiere tmux

Für Ubuntu:

$ sudo apt-get install tmux

Für OpenSUSE:

$ sudo zypper installieren tmux

Nach der Installation tmux, starte das tmux-Sitzung mit Terminalbefehlen. Die Installation dauert nicht lange. Sobald Sie die Installation abgeschlossen haben, können Sie jetzt loslegen tmux. Anfangen tmux, Geben Sie einfach tmux in das Terminal ein.

$ tmux

Wenn Sie mehr als einen Terminal-Multiplexer ausführen müssen, um alle SSH-Sitzungen im Hintergrund laufen zu lassen, können Sie in diesem Fall Schwierigkeiten haben, zwischen ihnen zu wechseln tmux zu tmux. Hier sind die Befehlszeilen, um von einem Formular zum anderen zu wechseln.

$ tmux anhängen $ tmux anhängen $ tmux anhängen -t 2

Um alle zu überprüfen tmux Bildschirm den tmux verwenden aufführen Befehl.

$ tmux ls

3. Führen Sie weiterhin SSH-Sitzungen mit dem byobu Werkzeug


Das Tool byobu wird hauptsächlich für die Remote-SSH-Verwaltung und die Bildschirmüberwachung unter Linux verwendet. Es ist eine Open-Source-Software und kann zusammen mit den tmux oder der Bildschirm Werkzeug. Sie können den aktuellen Status, Benachrichtigungen und Nachrichten mit der byobu Werkzeug. Obwohl die byobu wird standardmäßig mit Ubuntu installiert. Aber wenn dies nicht der Fall ist, können Sie es auf Ihrem Linux-Computer installieren. Um zu überprüfen, ob byobu auf Ihrem System installiert ist oder nicht, indem Sie die anderen Versionen von byobu . überprüfen.

$ byobu --version

Aktivieren Sie dann byobu, damit Ihre SSH-Sitzungen auch nach dem Trennen der Verbindung im Hintergrund laufen.

$ byobu-aktivieren

Hier werden die Installationsprozesse mit CLI . erklärt.

Für Ubuntu:

$ sudo apt install byobu

Für OpenSUSE:

$ sudo zypper addrepo https://download.openuse.org/repositories/utilities/openSUSE_Leap_42.3/Dienstprogramme.repo
$ sudo zypper aktualisieren $ sudo zypper install byobu

Für Arch-Linux:

$ yaourt -S byobu $ packer -S byobu

Für Red Hat Enterprise Linux:

$ sudo yum install byobu

Für Fedora:

$ sudo dnf install byobu

Um loszulegen byobu, Geben Sie einfach byobu in das Terminal ein und drücken Sie die Eingabetaste.

$ byobu

Wenn Sie jetzt die verwenden tmux oder der Bildschirm, Sie können zwischen jedem von ihnen für die Zusammenarbeit im Backend auswählen.

$ byobu-select-backend

Jetzt können Sie Ihre SSH-Sitzungen verwalten und im Hintergrund laufen lassen, nachdem die Verbindung getrennt wurde, verwenden Sie die Funktionstasten der Systemtastatur. Um mit SSH zusammen mit byobu zu beginnen, drücke STRG+UMSCHALT+F2 von Ihrer Tastatur aus, um die SSH-Umgebung zu aktivieren. Um Ihre SSH-Sitzungen vorwärts und rückwärts zu verschieben, können Sie verwenden ALT+AUF und ALT+AB.

Um Ihre SSH-Sitzungen zu trennen, drücken Sie F6 von der Tastatur. Wenn Sie nun die Sitzung trennen, aber nicht trennen möchten, dann geht es los. Um SSH-Sitzungen zu trennen und trotzdem verbunden zu werden, drücken Sie UMSCHALT+F6. Hier ist ein weiterer zusätzlicher Tastaturbefehl für Sie. Um nur die Bildschirmsitzung aktiv zu halten und alle anderen Fenster zu schließen, drücken Sie ALT+F6.

4. Führen Sie weiterhin SSH-Sitzungen mit dem nohup Befehl


Das nohup oder der Befehl 'no hangup' ist ein sehr nützliches alternatives Tool für den Bildschirm oder den tmux. Es ermöglicht Benutzern auch, die SSH-Sitzungen aufrechtzuerhalten, auch wenn sie getrennt wurden. Das nohup Befehl weist das System an, alle Prozesse im Hintergrund auszuführen, indem das Auflegen des Signals vermieden wird (SIGHUP).

Um das zu überprüfen nohup Handbücher und Optionen von Ihrem Linux-Terminal aus, geben Sie den folgenden Befehl in das Terminal ein und drücken Sie die Eingabetaste.

$ nohup-Optionen

Um die aktuell aktiven Joblisten zu überprüfen, verwenden Sie die -l Befehl von Ihrem Terminal.

$ Jobs -l

Um einen Verbindungsverlust zu vermeiden und Ihre Sitzungen nach dem Trennen aufrechtzuerhalten, verwenden Sie jetzt für die SSH-Verbindung die nohup-Befehlszeilen, die Ihrem Job folgen. Sie können die Ausgabeliste Ihrer Jobs auch in einer Textdatei abrufen, indem Sie den Befehl cat neben dem Befehl nohup verwenden.

$ nohup ./Hallo.sh $ cat nohup.aus

Um einen Prozess im Hintergrund auszuführen, können Sie den & Symbol kurz nach dem nohup Befehl. Zum Beispiel, wenn ich Ping für WordPress-408970-1286763 testen möchte.cloudwaysapps.com im Hintergrund, die Befehlszeile sieht aus wie die folgende Zeile unten. Und wenn Sie der Meinung sind, dass Ihre Arbeit erledigt ist, verwenden Sie die pgrep Befehl.

$ nohup ping ubuntupit.com & $ pgrep - ein Ping

5. Führen Sie weiterhin SSH-Sitzungen mit dem verleugnen Befehl


Wenn Sie nicht über die Root-Rechte des Systems verfügen, wird dies vielleicht Ihr Problem lösen. Das verleugnen Befehl kann jede Aufgabe aus Ihrem laufenden Systemprotokoll entfernen. So kann es einen laufenden Prozess verbergen, um alle Fehler beim automatischen Abmelden oder das Auflegen des Signals (SIGHUP) zu vermeiden. Sie können den diswon process management-Befehl tatsächlich verwenden, um Ihre SSH-Sitzungen am Laufen zu halten, indem Sie Ihre Aufgabe verbergen.

Um Ihre Aufgabe aus dem Task-Manager zu entfernen oder auszublenden, verwenden Sie den Befehl diswon im Terminal.

$ verleugnen 

Um den aktuellen Status der Aufgabe zu überprüfen, verwenden Sie den aktuellen Shell-Befehl.

$ aktuelle Shell

Sie können auch eine Liste von Aufgaben mit einem einzeiligen Terminalbefehl festlegen.

$ Jobs ablehnen1 $ Jobs ablehnen1 Jobs2… jobsn

Und um die Aufgabenliste zu überprüfen, verwenden Sie die -l Befehl.

$ Jobs -l

Um alle aktuellen Jobs aus dem Fenster zu entfernen, geben Sie die -ein Syntax nach dem Disown-Befehl.

$ verleugnen -a

Um nur einen oder den laufenden Job aus dem Fenster zu entfernen, verwenden Sie die -r Syntax nach dem diswon-Befehl.

$ verleugnen -r

Verwenden Sie nun für SSH, um einen Job im Hintergrund auszuführen, nachdem die Sitzung verbunden ist, die -ha Syntax. Dieser Prozess kann Ihre SSH-Sitzungen auch nach dem Trennen am Laufen halten.

$ disown -h jobID $ disown -h %2

Fixieren der Auszeit Fehler von SSH in RHEL


Wenn Sie unter Red Hat Enterprise Linux (RHEL) mit SSH verbunden sind, kann es zu einem häufigen Zeitüberschreitungsproblem kommen und Ihre Verbindung geht verloren. Dieses Problem tritt aufgrund der ungültigen Antwortzeit entweder vom Client-Ende oder vom Host-Ende auf. In Ihrem Red Hat-Root-Verzeichnis müssen Sie die sshd_config.TXT Datei, um diese Zeitüberschreitungsprobleme zu lösen. Sobald Sie fertig sind, können Sie Ihre SSH-Verbindung auch nach dem Trennen wiederherstellen.

Dort drinnen sshd_config.TXT, Datei finden Sie zwei Optionen namens ClientAliveInterval und ClientAliveCountMax, Sie müssen diese Protokolldateien bearbeiten, um die Server-zu-Client-Antwortzeit zu maximieren. Das Timeout-Intervall wird berechnet, indem die Werte von ClientAliveInterval und ClientAliveCountMax multipliziert werden.

Sie müssen lediglich die Zeitdauer dieser beiden Werte entsprechend Ihrem System und der Antwortdauer des Netzwerks bearbeiten. Lassen Sie die Zeit 10 Minuten für das Ende des Client-Intervalls und das 5-fache für die Anzahl der Clients maximieren, dann Ihre Textregistrierung innerhalb der sshd_config.TXT Datei wird wie unten aussehen. Und dann SSH neu starten.

ClientAliveInterval 10m ClientAliveCountMax 5

Abschließende Gedanken


Für einen Systemadministrator ist es eine entscheidende Aufgabe, SSH-Sitzungen und -Prozesse am Laufen zu halten, um den Kunden zufrieden zu stellen und die Aufgabe zu erfüllen. Verbindungsabbrüche und häufige Sitzungsverluste sind sehr ärgerlich und lästig. In diesem Beitrag haben wir daher versucht, die Gründe für die Trennung von SSH-Sitzungen zu diskutieren und zu veranschaulichen, und auch alle möglichen Methoden beschrieben, wie Sie SSH-Sitzungen nach der Trennung am Laufen halten können.

Wenn Sie schon einmal die mühsame Trennung von SSH-Sitzungen durchgemacht haben und wissen, wie ärgerlich das sein kann, teilen Sie uns bitte Ihre Erfahrungen mit. Und kommentiere auch, wenn du etwas hinzuzufügen oder etwas zu diesem Beitrag im Kommentarbereich zu fragen. Vergiss nicht, diesen Beitrag mit deinen Freunden in den sozialen Medien zu teilen.

SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...