Ruby NetSSH, das SSH-Protokoll (Secure Shell)

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 für Linux und andere UNIX-ähnliche Systeme verwendet. Sie können es verwenden, um sich bei einem Webserver anzumelden und einige Befehle auszuführen, um Ihre Website zu verwalten. Es kann jedoch auch andere Aufgaben ausführen, beispielsweise das Übertragen von Dateien und das Weiterleiten von Netzwerkverbindungen.

Net :: SSH ist eine Möglichkeit für Ruby, mit SSH zu interagieren. Mit diesem Juwel können Sie eine Verbindung zu Remote-Hosts herstellen, Befehle ausführen, deren Ausgabe überprüfen, 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 entfernten Linux- oder UNIX-ähnlichen Systemen interagieren.

Net :: SSH installieren

Das Net :: SSH Die Bibliothek selbst ist reines Ruby - es werden keine anderen Edelsteine ​​benötigt und es wird kein Compiler zur Installation benötigt. Es hängt jedoch von der OpenSSL-Bibliothek ab, um die gesamte erforderliche Verschlüsselung durchzuführen. Führen Sie den folgenden Befehl aus, um festzustellen, ob OpenSSL installiert ist.

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

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

Grundsätzliche Verwendung

Die häufigste Verwendung von Net :: SSH 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, wenn dieser angegeben wird. Wenn du das gibst Start Wenn Sie einen Block auswählen, 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.