gossh

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2025 License: GPL-3.0 Imports: 15 Imported by: 0

README

GoSSH

GoSSH is a Go package that provides a simple and convenient way to establish SSH connections and perform various operations on remote servers.

Installation

To install GoSSH, use the following command:

go get -u github.com/treeforest/gossh

Usage

Here is an example of how to use GoSSH to connect to a remote server and perform SSH operations:

package main

import (
	"fmt"
	"github.com/treeforest/gossh"
)

func main() {
	// Connect to the remote server
	ssh, err := gossh.Connect("example.com", 22, "username", "password")
	if err != nil {
		fmt.Println("Failed to connect:", err)
		return
	}
	defer ssh.Close()

	// Run a command on the remote server
	output, err := ssh.Run("ls -l")
	if err != nil {
		fmt.Println("Failed to run command:", err)
		return
	}

	fmt.Println("Command output:", string(output))
}

Features

  • Connect to a remote server using SSH
  • Run commands on the remote server
  • Upload and download files using SFTP
  • Execute commands with sudo privileges

License

GNU General Public License v3.0


This README document provides a brief overview of the GoSSH package and its usage. Feel free to update and customize it according to your specific needs.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetDefaultLogger added in v1.0.1

func SetDefaultLogger(logger Logger)

Types

type Logger

type Logger func(format string, v ...interface{})

type SSH

type SSH struct {
	Client   *goph.Client
	Host     string
	Port     uint
	Username string
	Password string
	Log      Logger
}

func Connect

func Connect(host string, port uint, username, password string) (*SSH, error)

func (*SSH) Chown

func (s *SSH) Chown(user string, path string) error

func (*SSH) Close

func (s *SSH) Close() error

func (*SSH) Download

func (s *SSH) Download(remotePath, localDir string) (err error)

func (*SSH) PathExists

func (s *SSH) PathExists(path string) (bool, error)

func (*SSH) Ping

func (s *SSH) Ping() error

func (*SSH) Run

func (s *SSH) Run(cmd string) ([]byte, error)

func (*SSH) Runf

func (s *SSH) Runf(format string, a ...interface{}) ([]byte, error)

func (*SSH) Sftp

func (s *SSH) Sftp() (*sftp.Client, error)

func (*SSH) Sudo

func (s *SSH) Sudo(cmd string) ([]byte, error)

func (*SSH) Sudof

func (s *SSH) Sudof(format string, a ...interface{}) ([]byte, error)

func (*SSH) Upload

func (s *SSH) Upload(localPath, remoteDir string) (err error)

func (*SSH) UserHomeDir

func (s *SSH) UserHomeDir() (string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL