So führen Sie Linux -Befehle auf Remote -System über SSH aus?

So führen Sie Linux -Befehle auf Remote -System über SSH aus?

Um am Remote -System zu arbeiten, melden Sie sich zuerst bei diesem System an, führen Befehle aus, um verschiedene Aufgaben auszuführen, und melden Sie sich dann von dieser Sitzung an. Sogar um einen einzelnen Befehl auf einem Remote -System auszuführen, müssen Sie alle Schritte durchlaufen. Während Sie nebeneinander auf lokaler und ferner Systeme arbeiten, müssen Sie mehrmals zwischen ihnen wechseln. Das mehrmals ein und aus einem System aus einem System auszusetzen, kann ärgerlich sein. Es sollte einen Weg geben, mit dem Sie Befehle auf einem Remote -System ausführen können, ohne sich daran anzumelden.Zum Glück gibt es eine Möglichkeit, Ihnen zu zeigen, wie Sie Befehle auf einem Remote -System über SSH direkt von Ihrem lokalen Computer ausführen können.

Voraussetzungen

Als Voraussetzungen müssen Sie:

  • Ubuntu -Maschine
  • Benutzer mit sudo -Privilegien

Hinweis: Die in diesem Tutorial genannten Befehle wurden auf Ubuntu 20 ausgeführt.04 LTS (FORTAL FOSSA) Terminal, das durch die Strg+Alt+T -Verknüpfung geöffnet werden kann. Die gleichen Befehle gelten auch für Linux Mint und Debian.

Führen Sie Linux -Befehle auf dem Remote -System über SSH aus

Verwenden Sie die folgende Syntax, um einen Befehl auf einem Remote -System aus Ihrem lokalen System auszuführen:

$ ssh

Wo Nutzername ist der Benutzer im Remote -System, Hostname/ip_address ist der Hostname oder die IP -Adresse des Remote -Systems. Der Befehl/Skript ist der Befehl oder das Skript, das Sie auf dem Remote -System ausführen möchten.

Wenn der SSH auf einem anderen Port als dem Standardport ausgeführt wird, erwähnen Sie es mit dem Flag -P -Flag wie folgt:

$ ssh -p

Führen Sie einen einzelnen Befehl auf dem Remote -System aus

Angenommen, Sie müssen den Hostnamen des Remote -Systems finden. In diesem Fall wäre der Befehl, den Sie auf dem lokalen System ausführen müssen,:

$ ssh [email protected] Hostname

Jetzt werden Sie gebeten, das Kennwort für den Remote -Benutzer anzugeben. Geben Sie das Passwort ein und drücken Sie die Eingabetaste.

In der folgenden Ausgabe ist „MyPC“ der Hostname des Remote -Systems.


Sie können den Befehl auch in einem einzigen (") oder doppelten invertierten Kommas (" ") wie folgt einschließen:

$ ssh [email protected] "Hostname"

Führen Sie mehrere Befehle auf dem Remote -System aus

Wenn Sie mehrere Befehle auf dem Remote -System über SSH ausführen müssen, trennen Sie sie mit (;) oder (&&) und legen Sie sie in invertierte Kommas ein (""). Wenn Sie die Mehrfachbefehle nicht in invertierte Kommas einfügen, wird nur der erste Befehl auf der Remote -Maschine ausgeführt, und die anderen Befehle werden auf dem lokalen Computer ausgeführt.

$ ssh "Kommando1 && Befehl2"

oder

$ ssh „Kommando1; Kommando2 ”

Verwenden des && Separators

Wenn Sie den (&&) -Teparator verwenden, wird der zweite Befehl nur ausgeführt, wenn der erste Befehl erfolgreich ausgeführt wird. Um beispielsweise Befehle „MKDIR“ und „LS“ auf dem Remote -System auszuführen, müssen Sie den folgenden Befehl in Ihrem lokalen System ausgeben:

$ ssh -t [email protected] "Mkdir myFiles && ls"

Jetzt werden Sie gebeten, das Kennwort für den Remote -Benutzer anzugeben. Geben Sie das Passwort ein und drücken Sie die Eingabetaste.

Im Folgenden finden Sie die Ausgabe der auf einem Remote -System ausgeführten Befehle. Der zweite Befehl "LS" wird nur im Remote -System ausgeführt, wenn der erste Befehl "mkdir" erfolgreich ist.


Dieser Befehl ist auch nützlich, wenn Sie das System aktualisieren. Im Allgemeinen wird nach einem Update ein System -Upgrade durchgeführt. Mit dem obigen Befehl können Sie das System -Upgrade daher nur dann ausführen, wenn die Updates erfolgreich sind.

Verwendung der ; Separator

Wenn Sie den (;) Separator verwenden, wird der zweite Befehl ausgeführt, egal ob der erste Befehl erfolgreich war oder nicht. Zum Beispiel müssen Sie den folgenden Befehl in Ihrem lokalen System ausgeben, um "Hostname" und "IP R" auf dem Remote -System auszuführen:

$ ssh [email protected] „Hostname; IP R ”

Jetzt werden Sie gebeten, das Kennwort für den Remote -Benutzer anzugeben. Geben Sie das Passwort ein und drücken Sie die Eingabetaste.

Im Folgenden finden Sie die Ausgabe der auf einem Remote -System ausgeführten Befehle. Der zweite Befehl "IP R" wird ausgeführt, auch wenn der erste Befehl nicht erfolgreich ist.

Führen Sie den Befehl auf Remote -System mit sudo -Privilegien aus

Einige Befehle unter Linux erfordern erhöhte Berechtigungen, um Software zu installieren oder zu entfernen, einen Benutzer hinzuzufügen oder zu entfernen, Systemkonfigurationen usw. zu ändern usw. Wenn Sie einen Befehl in den Remote -Systemen ausführen, für die Sudo -Berechtigungen erforderlich sind, werden Sie zuerst nach dem Passwort für den Remote -Benutzer gefragt, und dann werden Sie nach dem Sudo -Passwort zur Ausführung des Befehls gefragt.

Zum Beispiel müssen Sie den folgenden Befehl in Ihrem lokalen System ausführen:

$ ssh -t [email protected] "Sudo APT Update"

Die Ausgabe des Befehls, der auf einem Remote -System mit erhöhten Berechtigungen ausgeführt wird.


HINWEIS: Dann wird hier die Option verwendet, um TTY gewaltsam zuzuweisen.

Führen Sie den Befehl auf Remote -System aus und speichern Sie seine Ausgabe auf lokales System

Die Ausgabe der auf den Remote -Systemen ausgeführten Befehle kann auch auf das lokale System gespeichert werden. Zum Beispiel wird der folgende Befehl den Befehl IFConfig im Remote -System ausführen und dann seine Ausgabe in einer Datei namens IP speichert.TXT auf dem Desktop des lokalen Maschine.

$ ssh -t [email protected] "Ifconfig"> ~/Desktop/IP.txt

Führen Sie das lokale Skript auf Remote -System aus

Das auf dem lokalen System platzierte Skript kann auch auf dem Remote -System ausgeführt werden. Lassen Sie uns dies erläutern, indem Sie ein Skript mit dem Namen Sample erstellen.SH im lokalen System.

$ sudo nano sample.Sch

Fügen Sie unten in der Skriptdatei die folgenden Zeilen hinzu:

#!/Bin/Bash
Datum
Hostname
IP -Route
Ping -c 3 Google.com

Speichern und schließen Sie das Skript nun und schließen Sie sie.


Um das Skript -Beispiel auszuführen.SH Auf dem Remote -System den folgenden Befehl in Terminal ausgeben:

$ ssh -t [email protected] 'bash -s; < sample.sh

Hier ist die Ausgabe, nachdem das Skript auf einem Remote -System ausgeführt wurde:


Das ist alles, was es gibt! In diesem Tutorial haben wir Ihnen gezeigt, wie Sie Befehle in einem Remote -System über SSH ausführen können. Es macht die Arbeit am Fernbedienungssystem sehr einfach und spart Sie auch vor dem Anmut.