Secure Shell oder SSH ist ein sicheres Netzwerkprotokoll, mit dem Remote -Anmeldungen von Geräten in einer sicheren Verbindung ermöglicht werden können. SSH ist in den letzten Jahren eines der nützlichsten und beliebtesten Netzwerkprotokolle.
In diesem Artikel werden wir diskutieren, wie Sie mit dem SSH -Protokoll arbeiten können.
Golang SSH -Paket
In diesem Tutorial werden wir das Crypto/SSH -Paket verwenden. Sie können das Paket als:
Import "Golang.org/x/crypto/ssh "SSH -Kunde
Wir werden zunächst einen SSH -Client erstellen, der die Adresse eines Remote -SSH -Servers übernimmt und eine Verbindung dazu herstellt.
Betrachten Sie das Codebeispiel wie unten gezeigt:
Paket MainIm vorherigen Code -Beispiel beginnen wir mit dem Importieren der erforderlichen Module. Wir importieren die Crypto/SSH- und Crypto/bekannten Hosts, um eine Verbindung zum SSH -Server herzustellen und den Host -Schlüssel zu analysieren.
Wir erstellen dann einen neuen Host -Schlüssel mit den bekannten Hosts.New () Methode. Die Funktion gibt einen Host -Schlüssel -Rückruf aus den angegebenen Host -Tastendateien zurück.
Als nächstes erstellen wir config, um sich beim Server anzumelden. Dies ist eine Strukturinformationen wie Benutzer- und Auth -Methode.
Der letzte Schritt besteht darin, die Verbindung zum Server mit dem SSH zu wählen.Dial () Methode.
Sitzung erstellen
Wir können eine Sitzung mit der Nachrichtenmethode erstellen. Ein Code -Beispielcode ist wie unten gezeigt:
Sitzung, err: = conn.Neue Sitzung()Anfordern pty
Betrachten Sie das unten angegebene Code -Beispiel:
// Terminalmodus konfigurierenIm vorherigen Beispiel konfigurieren wir die Terminalmodi. Obwohl Sie die Standardparameter verwenden können, setzen wir in diesem Beispiel die SSH.Echowert auf 0. Dies verhindert, dass die Shell Befehle an Sie zurückgeht.
Als nächstes fordern wir eine Terminalsitzung mit der RequestPty () -Methode an. Dies nimmt den Begriff als Zeichenfolge und die Höhe und Breite der Terminalsitzung als Ganzzahlen und den Terminalkonfigurationsmodus an.
Führen Sie den Befehl aus
Sie können einen einzelnen Befehl auf dem Server ausführen, sobald eine Sitzung festgelegt ist. Zum Beispiel:
var buff bytes.PufferIm vorherigen Beispiel verwenden wir die Auslauffunktion, um einen Befehl auf dem Server auszuführen.
Ein Ausgabebeispiel ist unten dargestellt:
Abschluss
Dieser Leitfaden deckt die Grundlagen der Arbeit mit dem SSH -Paket in der Go -Programmiersprache ab. Darüber hinaus wurde das Erstellen einer Sitzung mithilfe der Nachrichtenmethode, die Anforderung einer Terminalsitzung mithilfe der RequestPty () -Methode und der Verwendung des Laufbefehls erörtert. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Informationen finden Sie in anderen Linux -Hinweisartikeln.