Documentation ¶
Index ¶
- func ReadPrivateKey(pk string) (ssh.AuthMethod, error)
- func ToPrivateKeyContent(pk string) ([]byte, error)
- type Client
- type SSHAgent
- type SSHClient
- type SSHSessionWrapper
- func (sw *SSHSessionWrapper) Close() error
- func (sw *SSHSessionWrapper) RequestPty(term string, h, w int, termmodes ssh.TerminalModes) error
- func (sw *SSHSessionWrapper) RunCommand(ctx context.Context, cmd string) error
- func (sw *SSHSessionWrapper) Start(cmd string) error
- func (sw *SSHSessionWrapper) StdinPipe() (io.WriteCloser, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadPrivateKey ¶
func ReadPrivateKey(pk string) (ssh.AuthMethod, error)
ReadPrivateKey returns an authentication method relying on private/public key pairs The argument is : - either a path to the private key file, - or the content or this private key file
func ToPrivateKeyContent ¶
ToPrivateKeyContent allows to convert private key content or file to byte array
Types ¶
type SSHAgent ¶
type SSHAgent struct { Socket string // contains filtered or unexported fields }
SSHAgent is an SSH agent
func NewSSHAgent ¶
NewSSHAgent allows to return a new SSH Agent
func (*SSHAgent) GetAuthMethod ¶
func (sa *SSHAgent) GetAuthMethod() ssh.AuthMethod
GetAuthMethod returns the auth method with all agent keys
func (*SSHAgent) RemoveAllKeys ¶
RemoveAllKeys allows to remove all keys into ssh-agent keys list
type SSHClient ¶
type SSHClient struct { Config *ssh.ClientConfig Host string Port int }
SSHClient is a client SSH
func (*SSHClient) CopyFile ¶
CopyFile allows to copy a reader over SSH with defined remote path and specific permissions
func (*SSHClient) GetSessionWrapper ¶
func (client *SSHClient) GetSessionWrapper() (*SSHSessionWrapper, error)
GetSessionWrapper allows to return a session wrapper in order to handle stdout/stderr for running long synchronous commands
type SSHSessionWrapper ¶
type SSHSessionWrapper struct { Stdout io.Reader Stderr io.Reader // contains filtered or unexported fields }
SSHSessionWrapper is a wrapper with a piped SSH session
func (*SSHSessionWrapper) Close ¶
func (sw *SSHSessionWrapper) Close() error
Close closes the session
func (*SSHSessionWrapper) RequestPty ¶
func (sw *SSHSessionWrapper) RequestPty(term string, h, w int, termmodes ssh.TerminalModes) error
RequestPty requests the association of a pty with the session on the remote host.
func (*SSHSessionWrapper) RunCommand ¶
func (sw *SSHSessionWrapper) RunCommand(ctx context.Context, cmd string) error
RunCommand allows to run a specified command from a session wrapper in order to handle stdout/stderr during long synchronous commands stdout/stderr are retrieved asynchronously with SSHSessionWrapper.Stdout and SSHSessionWrapper.Stderr
func (*SSHSessionWrapper) Start ¶
func (sw *SSHSessionWrapper) Start(cmd string) error
Start runs cmd on the remote host. Typically, the remote server passes cmd to the shell for interpretation. A Session only accepts one call to Run, Start or Shell.
func (*SSHSessionWrapper) StdinPipe ¶
func (sw *SSHSessionWrapper) StdinPipe() (io.WriteCloser, error)
StdinPipe returns a pipe that will be connected to the remote command's standard input when the command starts.