Ich arbeite mit Go versuchen zu automatisieren, verfolgen alle meine SSH-Verbindungen. Ich habe einige Probleme beim Ausführen des Befehls von Go. Hier ist mein Code:Verbindung mit SSH durch die Shell?
cmd := exec.Command("ssh", string(c.Address))
cmd.Stderr = os.Stderr
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
err2 := cmd.Run()
if err2 != nil {
fmt.Print("Disconnected")
}
c.Address entspricht „[email protected]“ nicht mit dieser IP offensichtlich, aber wenn ich diese laufen bekomme ich die folgende Fehlermeldung.
ssh: Could not resolve hostname 192.168.1.1
: nodename nor servname provided, or not known
Ich kann nur gut mit ssh von meinem Terminal verbinden.
Danke!
Drucken Sie einige Debug-Ausgabe aus dem 'ssh' Befehl ein, und es den gleichen Befehl aus der Schale zu vergleichen. – JimB
Stellen Sie außerdem sicher, dass c.Address keine zusätzlichen Leerzeichen oder nicht druckbare Zeichen enthält. – JimB
Seltsames. Versuchen Sie localhost. Ist c.Address keine Funktion? (Müdigkeit passiert;). Nicht im Zusammenhang mit der Adressauflösung, aber wer weiß: Versuchen Sie mit einem absoluten Pfad zur ausführbaren Datei ssh, im unwahrscheinlichen Fall, dass Ihr PATH etwas damit zu tun hat. Welches Betriebssystem verwenden Sie? Das könnte hilfreich sein zu wissen. – wldsvc