Automatisierung mit Ruby Net:: SSH (Secure Shell)

click fraud protection

SSH (oder "Secure Shell") ist ein Netzwerkprotokoll, mit dem Sie Daten mit einem Remote-Host über einen verschlüsselten Kanal austauschen können. Es wird am häufigsten als interaktive Shell mit Linux und anderen UNIX-ähnlichen Systemen verwendet. Sie können es verwenden, um sich bei einem Webserver anzumelden und einige Befehle auszuführen, um Ihre Website zu pflegen. Es kann jedoch auch andere Aufgaben ausführen, z. B. das Übertragen von Dateien und das Weiterleiten von Netzwerkverbindungen.

Net:: SSH ist ein Weg für Rubin mit SSH interagieren. Mit diesem Juwel können Sie eine Verbindung zu Remote-Hosts herstellen, Befehle ausführen, deren Ausgabe untersuchen, Dateien übertragen, Netzwerkverbindungen weiterleiten und alles tun, was Sie normalerweise mit einem SSH-Client tun würden. Dies ist ein leistungsstarkes Tool, wenn Sie häufig mit Remote-Linux- oder UNIX-ähnlichen Systemen interagieren.

Net:: SSH installieren

Das Net:: SSH Die Bibliothek selbst ist reines Ruby - sie benötigt keine anderen Edelsteine ​​und benötigt keinen Compiler zur Installation. Es ist jedoch auf die OpenSSL-Bibliothek angewiesen, um die gesamte erforderliche Verschlüsselung durchzuführen. Führen Sie den folgenden Befehl aus, um festzustellen, ob OpenSSL installiert ist.

instagram viewer

Wenn der obige Ruby-Befehl eine OpenSSL-Version ausgibt, ist er installiert und alles sollte funktionieren. Das Windows One-Click-Installationsprogramm für Ruby enthält OpenSSL, ebenso wie viele andere Ruby-Distributionen.

So installieren Sie das Net:: SSH Bibliothek selbst, installieren Sie die net-ssh Juwel.

Grundlegende Verwendung

Die gebräuchlichste Art, Net:: SSH zu verwenden, ist die Verwendung von Net:: SSH.start Methode. Diese Methode verwendet den Hostnamen, den Benutzernamen und das Kennwort und gibt entweder ein Objekt zurück, das die Sitzung darstellt, oder übergibt es an einen Block, falls angegeben. Wenn du das gibstStart Wenn Sie einen Block verwenden, wird die Verbindung am Ende des Blocks geschlossen. Andernfalls müssen Sie die Verbindung manuell schließen, wenn Sie damit fertig sind.

Das folgende Beispiel meldet sich bei einem Remote-Host an und ruft die Ausgabe von ab ls Befehl (Dateien auflisten).

Innerhalb des obigen Blocks wird die ssh Objekt bezieht sich auf die offene und authentifizierte Verbindung. Mit diesem Objekt können Sie eine beliebige Anzahl von Befehlen starten, Befehle parallel starten, Dateien übertragen usw. Möglicherweise stellen Sie auch fest, dass das Kennwort als Hash-Argument übergeben wurde. Dies liegt daran, dass SSH eine Vielzahl von Authentifizierungsschemata zulässt und Sie angeben müssen, dass es sich um ein Kennwort handelt.

instagram story viewer