ssh

package
v0.49.0 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2023 License: BSD-3-Clause Imports: 11 Imported by: 1

Documentation

Overview

Package ssh provide a wrapper for golang.org/x/crypto/ssh and a parser for SSH client configuration specification ssh_config(5).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadPrivateKeyInteractive added in v0.49.0

func LoadPrivateKeyInteractive(file string, maxAttempt int) (pkey any, err error)

LoadPrivateKeyInteractive load private key from file. If key is encrypted, it will prompt the passphrase in terminal with maximum maxAttempt times. If the passphrase still invalid after maxAttempt it will return an error.

Types

type Client

type Client struct {
	*ssh.Client
	// contains filtered or unexported fields
}

Client for SSH connection.

func NewClientInteractive added in v0.49.0

func NewClientInteractive(cfg *config.Section) (cl *Client, err error)

NewClientInteractive create a new SSH connection using predefined configuration, possibly interactively.

This function may dial twice to find appropriate authentication method when SSH_AUTH_SOCK environment variable is set but no valid key exist and IdentityFile directive is specified in the Host section.

If the IdentityFile is encrypted, it will prompt for passphrase in terminal.

func (*Client) Execute

func (cl *Client) Execute(cmd string) (err error)

Execute a command on remote server.

func (*Client) ScpGet added in v0.28.0

func (cl *Client) ScpGet(remote, local string) (err error)

ScpGet copy file from remote into local storage using scp.

The local file should be use the absolute path, or relative to the file in config.Section.WorkingDir.

func (*Client) ScpPut added in v0.28.0

func (cl *Client) ScpPut(local, remote string) (err error)

ScpPut copy a file from local storage to remote using scp command.

The local file should be use the absolute path, or relative to the file in config.Section's WorkingDir.

func (*Client) SetSessionOutputError added in v0.29.2

func (cl *Client) SetSessionOutputError(stdout, stderr io.Writer)

SetSessionOutputError set the standard output and error for future remote execution.

func (*Client) String

func (cl *Client) String() string

Directories

Path Synopsis
Package config provide the ssh_config(5) parser and getter.
Package config provide the ssh_config(5) parser and getter.
Package sftp implement SSH File Transfer Protocol v3 as defined in draft-ietf-secsh-filexfer-02.txt.
Package sftp implement SSH File Transfer Protocol v3 as defined in draft-ietf-secsh-filexfer-02.txt.

Jump to

Keyboard shortcuts

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