ssh2

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Unlicense Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BackupFile

func BackupFile(s Interface, file string) (string, error)

func DiskAvail

func DiskAvail(s Interface, path string) (int, error)

DiskAvail returns available disk space in GiB.

func FormatFileSize

func FormatFileSize(s int64) (size string)

字节的单位转换 保留两位小数

func GetNetworkInterface

func GetNetworkInterface(s Interface, ip string) string

GetNetworkInterface return network interface name by ip

func MakePrivateKeySigner

func MakePrivateKeySigner(privateKey []byte, passPhrase []byte) (ssh.Signer, error)

func MakePrivateKeySignerFromFile

func MakePrivateKeySignerFromFile(key string) (ssh.Signer, error)

func MemoryCapacity

func MemoryCapacity(s Interface) (uint64, error)

MemoryCapacity returns the machine's total memory from /proc/meminfo. Returns the total memory capacity as an uint64 (number of bytes).

func NewSftpClient

func NewSftpClient(user, password, host string, port int, timeoutSec time.Duration) (*sftp.Client, error)

create new sftp client

func NumCPU

func NumCPU(s Interface) (int, error)

NumCPU returns the number of logical CPUs.

func ParsePublicKeyFromFile

func ParsePublicKeyFromFile(keyFile string) (*rsa.PublicKey, error)

func RestoreFile

func RestoreFile(s Interface, file string) error

func Timestamp

func Timestamp(s Interface) (int, error)

Timestamp returns target node timestamp.

func UploadLocalFileBySftp

func UploadLocalFileBySftp(objClient *sftp.Client, srcFilePath, remotePath string) error

sftp client to upload file

Types

type Config

type Config struct {
	User       string `validate:"required"`
	Host       string `validate:"required"`
	Port       int    `validate:"required"`
	Sudo       bool
	Password   string
	PrivateKey []byte
	PassPhrase []byte
	// 150 seconds is longer than the underlying default TCP backoff delay (127
	// seconds). This timeout is only intended to catch otherwise uncaught hangs.
	DialTimeOut time.Duration
	ReadTimeOut time.Duration
	Retry       int
	Proxy       *ProxyConfig
}

type Interface

type Interface interface {
	Ping() error

	CombinedOutput(cmd string) ([]byte, error)
	Execf(format string, a ...interface{}) (stdout string, stderr string, exit int, err error)
	Exec(cmd string) (stdout string, stderr string, exit int, err error)

	CopyFile(src, dst string) error
	WriteFile(src io.Reader, dst string) error
	ReadFile(filename string) ([]byte, error)
	Exist(filename string) (bool, error)

	LookPath(file string) (string, error)
}

type ProxyConfig

type ProxyConfig struct {
	Type    string
	Address string
	Auth    *proxy.Auth
}

type SSH

type SSH struct {
	*Config
	// contains filtered or unexported fields
}

func New

func New(c *Config) (*SSH, error)

func (*SSH) CombinedOutput

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

func (*SSH) CopyDir

func (s *SSH) CopyDir(src, dst string) error

func (*SSH) CopyFile

func (s *SSH) CopyFile(src, dst string) error

func (*SSH) Exec

func (s *SSH) Exec(cmd string) (stdout string, stderr string, exit int, err error)

func (*SSH) Execf

func (s *SSH) Execf(format string, a ...interface{}) (stdout string, stderr string, exit int, err error)

func (*SSH) Exist

func (s *SSH) Exist(filename string) (bool, error)

func (*SSH) LookPath

func (s *SSH) LookPath(file string) (string, error)

func (*SSH) Ping

func (s *SSH) Ping() error

func (*SSH) ReadFile

func (s *SSH) ReadFile(filename string) ([]byte, error)

func (*SSH) WriteFile

func (s *SSH) WriteFile(src io.Reader, dst string) error

Jump to

Keyboard shortcuts

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