SimpleSSH is a simple wrapper around go ssh and sftp libraries.
- Multiple authentication methods (password, private key and ssh-agent)
- Sudo support
- Simple file upload/download support
go get github.com/sfreiberg/simplessh
package main
import (
"fmt"
"github.com/sfreiberg/simplessh"
)
func main() {
/*
Leave privKeyPath empty to use $HOME/.ssh/id_rsa.
If username is blank simplessh will attempt to use the current user.
*/
client, err := simplessh.ConnectWithKeyFile("localhost:22", "root", "/home/user/.ssh/id_rsa")
if err != nil {
panic(err)
}
defer client.Close()
output, err := client.Exec("uptime")
if err != nil {
panic(err)
}
fmt.Printf("Uptime: %s\n", output)
}
SimpleSSH is licensed under the MIT license.