supermock / sshcommander

Package that provides more options when connecting with ssh via golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sshcommander (WIP)

Package that provides more options when connecting with ssh via golang

Simple usage example:

package main

import (
	"log"

	"github.com/supermock/sshcommander"
)

func main() {
	term, _ := sshcommander.NewSSHCommander(&sshcommander.Options{
		Host: &sshcommander.Host{
			IP:   "localhost",
			Port: 22,
		},
		Credentials: &sshcommander.Credentials{
			User:     "your-user",
			Password: "******",
		},
		Output: true,
	})

	if err := term.Connect(); err != nil {
		log.Fatal(err)
	}
	defer term.Disconnect()

	if out, err := term.RunCmd("cat /etc/issue"); err != nil {
		log.Fatalf("Failed on execute command. Err: %s", err)
	} else {
		log.Println(out)
	}

	if out, err := term.RunCmd("sudo ip addr"); err != nil {
		log.Fatalf("Failed on execute command. Err: %s", err)
	} else {
		log.Println(out)
	}
}

About

Package that provides more options when connecting with ssh via golang

License:MIT License


Languages

Language:Go 100.0%