Skip to content

A simple abstraction around ssh and sftp libraries in go.

License

Notifications You must be signed in to change notification settings

elsgaard/simplessh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simplessh

GoDoc

SimpleSSH is a simple wrapper around go ssh and sftp libraries.

Features

  • Multiple authentication methods (password, private key and ssh-agent)
  • Sudo support
  • Simple file upload/download support

Installation

go get github.com/sfreiberg/simplessh

Example

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)
}

License

SimpleSSH is licensed under the MIT license.

About

A simple abstraction around ssh and sftp libraries in go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%