Wie führe ich Remote-Befehle über SSH in Go CLI aus?
Remotebefehle über SSH in Go CLI ausführen
Um Befehle auf einem Remotecomputer mithilfe einer Go-CLI auszuführen, sollten Sie diese verwenden das Paket „golang.org/x/crypto/ssh“.
Einfache Befehlsausführung
Hier ist eine Funktion, die eine einfache Verwendung der Ausführung eines einzelnen Befehls auf einem demonstriert Remote-Maschine und Rückgabe der Ausgabe:
import ( "bytes" "golang.org/x/crypto/ssh" "io" "net" ) func remoteRun(user string, addr string, privateKey string, cmd string) (string, error) { key, err := ssh.ParsePrivateKey([]byte(privateKey)) if err != nil { return "", err } config := &ssh.ClientConfig{ User: user, HostKeyCallback: ssh.InsecureIgnoreHostKey(), Auth: []ssh.AuthMethod{ ssh.PublicKeys(key), }, } client, err := ssh.Dial("tcp", net.JoinHostPort(addr, "22"), config) if err != nil { return "", err } session, err := client.NewSession() if err != nil { return "", err } defer session.Close() var b bytes.Buffer session.Stdout = &b err = session.Run(cmd) return b.String(), err }
Verwendung:
output, err := remoteRun("root", "MY_IP", "PRIVATE_KEY", "ls") if err != nil { // handle error }
Multi-Hop-Ausführung
Für Bei der One-Hop-away-Ausführung können Sie einfach zunächst eine SSH-Verbindung zum Zwischencomputer herstellen, indem Sie die bereitgestellte Adresse und den privaten Schlüssel verwenden. Sobald die Verbindung hergestellt ist, verwenden Sie die remoteRun-Funktion innerhalb dieser Sitzung, um den Befehl auf dem internen Computer auszuführen.
Das obige ist der detaillierte Inhalt vonWie führe ich Remote-Befehle über SSH in Go CLI aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
