I am working with Go trying to automate keeping track of all of my ssh connections. I am having some issues running the command from Go. Here is my code:
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 is equivalent to "person@192.168.1.1" not using that ip obviously but when I run this I get the following error.
ssh: Could not resolve hostname 192.168.1.1
: nodename nor servname provided, or not known
I can connect just fine using ssh from my terminal.
Thanks!
If you have
cmd := exec.Command("ssh", string("root@192.168.1.1"))
it works. As per the comment above if you have
cmd := exec.Command("ssh", string("root@192.168.1.1 "))
- notice the extra space
then you will get the error you you described.