Package ssh provides a GOlang library for copying files and running commands over SSH
package main
import (
"log"
"os"
"gomodules.xyz/ssh"
)
func main() {
signer, err := ssh.MakePrivateKeySignerFromFile(os.ExpandEnv("$HOME/.ssh/id_rsa"))
if err != nil {
log.Fatal(err)
}
sout, serr, code, err := sshtools.Exec("ls -l /", "root", "<addr>:<port>", signer)
log.Println(sout, serr, code, err)
}This library is based on code from: