Website-Suche

Ausführen von Befehlen aus der Ferne mit SSH und Ausgabeumleitung


Der SSH-Befehl kann verwendet werden, um sich remote bei einem Server anzumelden, auf dem ein sshd-Daemon ausgeführt wird. Auf diese Weise können Linux-Administratoren eine Vielzahl von Verwaltungsaufgaben ausführen. SSH ist jedoch leistungsfähiger als nur das Bereitstellen des Remote-Shell-Zugriffs für einen Benutzer, da es auch zur Automatisierung der Ausführung von Remote-Befehlen verwendet werden kann, z. B. zum Ausführen einfacher Backups und zum lokalen Herunterladen der Backup-Datei.

In diesem Leitfaden gehen wir auf einige verschiedene Befehlszeilenbeispiele ein, um zu zeigen, wie Sie Befehle auf einem Remote-System über SSH ausführen und die Ausgabe zurück auf Ihren lokalen Computer leiten können.

In diesem Tutorial lernen Sie:

  • Beispiele für die Ausführung von Remote-Befehlen über SSH

Ausführen von Remote-Befehlen über SSH

Beispiele für die Ausführung von Remote-Befehlen über SSH

Verwenden Sie einige der folgenden Befehle, um zu sehen, wie die Ausführung von Remote-Befehlen über SSH funktioniert, und passen Sie sie an Ihre eigenen Bedürfnisse an.

NOTE
Sie können sich einen Schritt sparen und vermeiden, dass Sie Ihr SSH-Passwort jedes Mal eingeben, wenn Sie eine Verbindung herstellen, wenn Sie zuerst unserer Anleitung zur SSH-Anmeldung ohne Passwort folgen.

  1. Der folgende SSH-Befehl kann verwendet werden, um eine Datei remote zu erstellen.

    
    ssh user@hostname '( cd /tmp/ && touch ssh_file.txt )'
    
  2. In diesem Beispiel wird eine lokale Kopie einer entfernten /etc/passwd-Datei nach /tmp/passwd erstellt:

    
    ssh user@username '( cat /etc/passwd )' > /tmp/passwd
    
  3. In diesem Beispiel wird ein Skript auf dem Remoteserver ausgeführt. Dies funktioniert natürlich nur, wenn das Skript bereits existiert und über die entsprechenden ausführbaren Berechtigungen verfügt.

    
    ssh user@hostname '( cat ~/myscript.sh )'
    
  4. In diesem Beispiel erstellen wir eine lokale bzip2-Kopie der Datei /var/log/auth.log des Remote-Servers in eine lokale Datei im Verzeichnis /tmp/:

    
    ssh user@hostname '( cp /var/log/auth.log /tmp/; cd /tmp/ && tar -jcvf - auth.log )' > /tmp/auth.tar.bz2
    

In diesem Beispiel werden mehrere Remotebefehle ausgeführt und die Ausgabe an das lokale System zurückgesendet

Abschließende Gedanken

In dieser Anleitung haben wir gesehen, wie Sie SSH verwenden können, um Befehle auf einem Remote-Server mit nur einem einzigen Befehl auszuführen. Wir haben auch gelernt, wie wir die Ausgabe zurück auf unser lokales System umleiten können, was es uns effektiv ermöglichen kann, SSH zu verwenden, um schnelle Backups und Dateiübertragungen durchzuführen oder sogar Skripte aus der Ferne auszuführen. Wir haben hier nur an der Oberfläche gekratzt, und diese Befehle können angepasst werden, um jede Art von Remote-Ausführungsaufgabe auszuführen, die Sie sich ausdenken.

Verwandte Artikel: