sshutils

package module
v0.0.19 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: Apache-2.0 Imports: 17 Imported by: 2

README

sshutils

Go SSH utils library to complement golang.org/x/crypto/ssh

https://pkg.go.dev/github.com/jaksi/sshutils

Documentation

Index

Constants

View Source
const (
	RSA = iota
	ECDSA
	Ed25519
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CancelStreamlocalForwardRequestPayload added in v0.0.14

type CancelStreamlocalForwardRequestPayload streamlocalForwardRequestPayload

func (*CancelStreamlocalForwardRequestPayload) Marshal added in v0.0.14

func (payload *CancelStreamlocalForwardRequestPayload) Marshal() []byte

func (*CancelStreamlocalForwardRequestPayload) String added in v0.0.14

func (*CancelStreamlocalForwardRequestPayload) Unmarshal added in v0.0.14

func (payload *CancelStreamlocalForwardRequestPayload) Unmarshal(data []byte) error

type CancelTcpipForwardRequestPayload added in v0.0.2

type CancelTcpipForwardRequestPayload tcpipRequestPayload

func (*CancelTcpipForwardRequestPayload) Marshal added in v0.0.2

func (payload *CancelTcpipForwardRequestPayload) Marshal() []byte

func (*CancelTcpipForwardRequestPayload) String added in v0.0.2

func (payload *CancelTcpipForwardRequestPayload) String() string

func (*CancelTcpipForwardRequestPayload) Unmarshal added in v0.0.2

func (payload *CancelTcpipForwardRequestPayload) Unmarshal(data []byte) error

type Channel added in v0.0.2

type Channel struct {
	ssh.Channel
	Requests <-chan *ChannelRequest
	// contains filtered or unexported fields
}

func (*Channel) ChannelID added in v0.0.2

func (channel *Channel) ChannelID() string

func (*Channel) ChannelType added in v0.0.5

func (channel *Channel) ChannelType() string

func (*Channel) ConnMetadata added in v0.0.5

func (channel *Channel) ConnMetadata() ssh.ConnMetadata

func (*Channel) RawRequest added in v0.0.13

func (channel *Channel) RawRequest(name string, wantReply bool, payload []byte) (bool, error)

func (*Channel) Request added in v0.0.9

func (channel *Channel) Request(name string, wantReply bool, payload Payload) (bool, error)

func (*Channel) String added in v0.0.4

func (channel *Channel) String() string

type ChannelOpenError added in v0.0.18

type ChannelOpenError struct {
	// contains filtered or unexported fields
}

func (ChannelOpenError) Error added in v0.0.18

func (e ChannelOpenError) Error() string

type ChannelRequest added in v0.0.14

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

func (*ChannelRequest) Channel added in v0.0.14

func (request *ChannelRequest) Channel() *Channel

func (*ChannelRequest) ConnMetadata added in v0.0.14

func (request *ChannelRequest) ConnMetadata() ssh.ConnMetadata

func (*ChannelRequest) String added in v0.0.14

func (request *ChannelRequest) String() string

func (*ChannelRequest) UnmarshalPayload added in v0.0.14

func (request *ChannelRequest) UnmarshalPayload() (Payload, error)

type Conn added in v0.0.2

type Conn struct {
	ssh.Conn
	NewChannels <-chan *NewChannel
	Requests    <-chan *GlobalRequest
	// contains filtered or unexported fields
}

func Dial added in v0.0.2

func Dial(address string, config *ssh.ClientConfig) (*Conn, error)

func (*Conn) Channel added in v0.0.13

func (conn *Conn) Channel(name string, payload Payload) (*Channel, error)

func (*Conn) RawChannel added in v0.0.13

func (conn *Conn) RawChannel(name string, payload []byte) (*Channel, error)

func (*Conn) RawRequest added in v0.0.13

func (conn *Conn) RawRequest(name string, wantReply bool, payload []byte) (bool, []byte, error)

func (*Conn) Request added in v0.0.9

func (conn *Conn) Request(name string, wantReply bool, payload Payload) (bool, []byte, error)

func (*Conn) String added in v0.0.4

func (conn *Conn) String() string

type DirectStreamlocalChannelPayload added in v0.0.14

type DirectStreamlocalChannelPayload struct {
	Path      string
	Reserved1 string
	Reserved2 uint32
}

func (*DirectStreamlocalChannelPayload) Marshal added in v0.0.14

func (payload *DirectStreamlocalChannelPayload) Marshal() []byte

func (*DirectStreamlocalChannelPayload) String added in v0.0.14

func (payload *DirectStreamlocalChannelPayload) String() string

func (*DirectStreamlocalChannelPayload) Unmarshal added in v0.0.14

func (payload *DirectStreamlocalChannelPayload) Unmarshal(data []byte) error

type DirectTcpipChannelPayload added in v0.0.2

type DirectTcpipChannelPayload struct {
	Address           string
	Port              uint32
	OriginatorAddress string
	OriginatorPort    uint32
}

func (*DirectTcpipChannelPayload) Marshal added in v0.0.2

func (payload *DirectTcpipChannelPayload) Marshal() []byte

func (*DirectTcpipChannelPayload) String added in v0.0.2

func (payload *DirectTcpipChannelPayload) String() string

func (*DirectTcpipChannelPayload) Unmarshal added in v0.0.2

func (payload *DirectTcpipChannelPayload) Unmarshal(data []byte) error

type EnvRequestPayload added in v0.0.2

type EnvRequestPayload struct {
	Name  string
	Value string
}

func (*EnvRequestPayload) Marshal added in v0.0.2

func (payload *EnvRequestPayload) Marshal() []byte

func (*EnvRequestPayload) String added in v0.0.2

func (payload *EnvRequestPayload) String() string

func (*EnvRequestPayload) Unmarshal added in v0.0.2

func (payload *EnvRequestPayload) Unmarshal(data []byte) error

type EowRequestPayload added in v0.0.14

type EowRequestPayload struct{}

func (*EowRequestPayload) Marshal added in v0.0.14

func (payload *EowRequestPayload) Marshal() []byte

func (*EowRequestPayload) String added in v0.0.14

func (payload *EowRequestPayload) String() string

func (*EowRequestPayload) Unmarshal added in v0.0.14

func (payload *EowRequestPayload) Unmarshal(data []byte) error

type EstablishError added in v0.0.18

type EstablishError struct {
	// contains filtered or unexported fields
}

func (EstablishError) Error added in v0.0.18

func (e EstablishError) Error() string

type ExecRequestPayload added in v0.0.2

type ExecRequestPayload struct {
	Command string
}

func (*ExecRequestPayload) Marshal added in v0.0.2

func (payload *ExecRequestPayload) Marshal() []byte

func (*ExecRequestPayload) String added in v0.0.2

func (payload *ExecRequestPayload) String() string

func (*ExecRequestPayload) Unmarshal added in v0.0.2

func (payload *ExecRequestPayload) Unmarshal(data []byte) error

type ExitSignalRequestPayload added in v0.0.14

type ExitSignalRequestPayload struct {
	Name       string
	CoreDumped bool
	Message    string
	Language   string
}

func (*ExitSignalRequestPayload) Marshal added in v0.0.14

func (payload *ExitSignalRequestPayload) Marshal() []byte

func (*ExitSignalRequestPayload) String added in v0.0.14

func (payload *ExitSignalRequestPayload) String() string

func (*ExitSignalRequestPayload) Unmarshal added in v0.0.14

func (payload *ExitSignalRequestPayload) Unmarshal(data []byte) error

type ExitStatusRequestPayload added in v0.0.2

type ExitStatusRequestPayload struct {
	ExitStatus uint32
}

func (*ExitStatusRequestPayload) Marshal added in v0.0.2

func (payload *ExitStatusRequestPayload) Marshal() []byte

func (*ExitStatusRequestPayload) String added in v0.0.2

func (payload *ExitStatusRequestPayload) String() string

func (*ExitStatusRequestPayload) Unmarshal added in v0.0.2

func (payload *ExitStatusRequestPayload) Unmarshal(data []byte) error

type ForwardedStreamlocalChannelPayload added in v0.0.14

type ForwardedStreamlocalChannelPayload struct {
	Path     string
	Reserved string
}

func (*ForwardedStreamlocalChannelPayload) Marshal added in v0.0.14

func (payload *ForwardedStreamlocalChannelPayload) Marshal() []byte

func (*ForwardedStreamlocalChannelPayload) String added in v0.0.14

func (payload *ForwardedStreamlocalChannelPayload) String() string

func (*ForwardedStreamlocalChannelPayload) Unmarshal added in v0.0.14

func (payload *ForwardedStreamlocalChannelPayload) Unmarshal(data []byte) error

type ForwardedTcpipChannelPayload added in v0.0.14

type ForwardedTcpipChannelPayload struct {
	Address           string
	Port              uint32
	OriginatorAddress string
	OriginatorPort    uint32
}

func (*ForwardedTcpipChannelPayload) Marshal added in v0.0.14

func (payload *ForwardedTcpipChannelPayload) Marshal() []byte

func (*ForwardedTcpipChannelPayload) String added in v0.0.14

func (payload *ForwardedTcpipChannelPayload) String() string

func (*ForwardedTcpipChannelPayload) Unmarshal added in v0.0.14

func (payload *ForwardedTcpipChannelPayload) Unmarshal(data []byte) error

type GlobalRequest added in v0.0.14

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

func (*GlobalRequest) ConnMetadata added in v0.0.14

func (request *GlobalRequest) ConnMetadata() ssh.ConnMetadata

func (*GlobalRequest) String added in v0.0.14

func (request *GlobalRequest) String() string

func (*GlobalRequest) UnmarshalPayload added in v0.0.14

func (request *GlobalRequest) UnmarshalPayload() (Payload, error)

type HostKey added in v0.0.2

type HostKey struct {
	ssh.Signer
	// contains filtered or unexported fields
}

func GenerateHostKey

func GenerateHostKey(rand io.Reader, t KeyType) (*HostKey, error)

func LoadHostKey

func LoadHostKey(fileName string) (*HostKey, error)

func (*HostKey) Save added in v0.0.2

func (key *HostKey) Save(fileName string) error

func (*HostKey) String added in v0.0.2

func (key *HostKey) String() string

type HostkeysProveRequestPayload added in v0.0.2

type HostkeysProveRequestPayload hostkeysRequestPayload

func (*HostkeysProveRequestPayload) Marshal added in v0.0.2

func (payload *HostkeysProveRequestPayload) Marshal() []byte

func (*HostkeysProveRequestPayload) Response added in v0.0.2

func (payload *HostkeysProveRequestPayload) Response(
	rand io.Reader, hostKeys []*HostKey, sessionID []byte,
) ([]byte, error)

func (*HostkeysProveRequestPayload) String added in v0.0.2

func (payload *HostkeysProveRequestPayload) String() string

func (*HostkeysProveRequestPayload) Unmarshal added in v0.0.2

func (payload *HostkeysProveRequestPayload) Unmarshal(data []byte) error

func (*HostkeysProveRequestPayload) VerifyResponse added in v0.0.2

func (payload *HostkeysProveRequestPayload) VerifyResponse(response []byte, sessionID []byte) error

type HostkeysRequestPayload added in v0.0.2

type HostkeysRequestPayload hostkeysRequestPayload

func (*HostkeysRequestPayload) Marshal added in v0.0.2

func (payload *HostkeysRequestPayload) Marshal() []byte

func (*HostkeysRequestPayload) String added in v0.0.2

func (payload *HostkeysRequestPayload) String() string

func (*HostkeysRequestPayload) Unmarshal added in v0.0.2

func (payload *HostkeysRequestPayload) Unmarshal(data []byte) error

type InvalidKeyError added in v0.0.18

type InvalidKeyError struct {
	// contains filtered or unexported fields
}

func (InvalidKeyError) Error added in v0.0.18

func (e InvalidKeyError) Error() string

type InvalidKeyFileError added in v0.0.18

type InvalidKeyFileError struct {
	// contains filtered or unexported fields
}

func (InvalidKeyFileError) Error added in v0.0.18

func (e InvalidKeyFileError) Error() string

type InvalidPayloadError added in v0.0.18

type InvalidPayloadError struct {
	// contains filtered or unexported fields
}

func (InvalidPayloadError) Error added in v0.0.18

func (e InvalidPayloadError) Error() string

type KeyType added in v0.0.2

type KeyType int

func (KeyType) String added in v0.0.2

func (t KeyType) String() string

type Listener added in v0.0.7

type Listener struct {
	net.Listener
	// contains filtered or unexported fields
}

func Listen added in v0.0.2

func Listen(address string, config *ssh.ServerConfig) (*Listener, error)

func (*Listener) Accept added in v0.0.7

func (listener *Listener) Accept() (*Conn, error)

type NewChannel added in v0.0.2

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

func (*NewChannel) AcceptChannel added in v0.0.4

func (newChannel *NewChannel) AcceptChannel() (*Channel, error)

func (*NewChannel) ConnMetadata added in v0.0.5

func (newChannel *NewChannel) ConnMetadata() ssh.ConnMetadata

func (*NewChannel) String added in v0.0.4

func (newChannel *NewChannel) String() string

func (*NewChannel) UnmarshalPayload added in v0.0.14

func (newChannel *NewChannel) UnmarshalPayload() (Payload, error)

type NoMoreSessionsRequestPayload added in v0.0.2

type NoMoreSessionsRequestPayload struct{}

func (*NoMoreSessionsRequestPayload) Marshal added in v0.0.2

func (payload *NoMoreSessionsRequestPayload) Marshal() []byte

func (*NoMoreSessionsRequestPayload) String added in v0.0.2

func (payload *NoMoreSessionsRequestPayload) String() string

func (*NoMoreSessionsRequestPayload) Unmarshal added in v0.0.2

func (payload *NoMoreSessionsRequestPayload) Unmarshal(data []byte) error

type Payload added in v0.0.2

type Payload interface {
	fmt.Stringer
	Unmarshal(data []byte) error
	Marshal() []byte
}

func UnmarshalChannelRequestPayload added in v0.0.2

func UnmarshalChannelRequestPayload(request *ssh.Request) (Payload, error)

func UnmarshalGlobalRequestPayload added in v0.0.2

func UnmarshalGlobalRequestPayload(request *ssh.Request) (Payload, error)

func UnmarshalNewChannelPayload added in v0.0.2

func UnmarshalNewChannelPayload(newChannel ssh.NewChannel) (Payload, error)

type PtyRequestPayload added in v0.0.2

type PtyRequestPayload struct {
	Term          string
	Width         uint32
	Height        uint32
	WidthPx       uint32
	HeightPx      uint32
	TerminalModes ssh.TerminalModes
}

func (*PtyRequestPayload) Marshal added in v0.0.2

func (payload *PtyRequestPayload) Marshal() []byte

func (*PtyRequestPayload) String added in v0.0.2

func (payload *PtyRequestPayload) String() string

func (*PtyRequestPayload) Unmarshal added in v0.0.2

func (payload *PtyRequestPayload) Unmarshal(data []byte) error

type PublicKeys added in v0.0.2

type PublicKeys []ssh.PublicKey

func (PublicKeys) String added in v0.0.2

func (publicKeys PublicKeys) String() string

type RawPayload added in v0.0.14

type RawPayload []byte

func (*RawPayload) Marshal added in v0.0.14

func (p *RawPayload) Marshal() []byte

func (*RawPayload) String added in v0.0.14

func (p *RawPayload) String() string

func (*RawPayload) Unmarshal added in v0.0.14

func (p *RawPayload) Unmarshal(data []byte) error

type SendRequestError added in v0.0.18

type SendRequestError struct {
	// contains filtered or unexported fields
}

func (SendRequestError) Error added in v0.0.18

func (e SendRequestError) Error() string

type SessionChannelPayload added in v0.0.2

type SessionChannelPayload struct{}

func (*SessionChannelPayload) Marshal added in v0.0.2

func (payload *SessionChannelPayload) Marshal() []byte

func (*SessionChannelPayload) String added in v0.0.2

func (payload *SessionChannelPayload) String() string

func (*SessionChannelPayload) Unmarshal added in v0.0.2

func (payload *SessionChannelPayload) Unmarshal(data []byte) error

type ShellRequestPayload added in v0.0.2

type ShellRequestPayload struct{}

func (*ShellRequestPayload) Marshal added in v0.0.2

func (payload *ShellRequestPayload) Marshal() []byte

func (*ShellRequestPayload) String added in v0.0.2

func (payload *ShellRequestPayload) String() string

func (*ShellRequestPayload) Unmarshal added in v0.0.2

func (payload *ShellRequestPayload) Unmarshal(data []byte) error

type SignalRequestPayload added in v0.0.14

type SignalRequestPayload struct {
	Name string
}

func (*SignalRequestPayload) Marshal added in v0.0.14

func (payload *SignalRequestPayload) Marshal() []byte

func (*SignalRequestPayload) String added in v0.0.14

func (payload *SignalRequestPayload) String() string

func (*SignalRequestPayload) Unmarshal added in v0.0.14

func (payload *SignalRequestPayload) Unmarshal(data []byte) error

type StreamlocalForwardRequestPayload added in v0.0.14

type StreamlocalForwardRequestPayload streamlocalForwardRequestPayload

func (*StreamlocalForwardRequestPayload) Marshal added in v0.0.14

func (payload *StreamlocalForwardRequestPayload) Marshal() []byte

func (*StreamlocalForwardRequestPayload) String added in v0.0.14

func (payload *StreamlocalForwardRequestPayload) String() string

func (*StreamlocalForwardRequestPayload) Unmarshal added in v0.0.14

func (payload *StreamlocalForwardRequestPayload) Unmarshal(data []byte) error

type SubsystemRequestPayload added in v0.0.2

type SubsystemRequestPayload struct {
	Subsystem string
}

func (*SubsystemRequestPayload) Marshal added in v0.0.2

func (payload *SubsystemRequestPayload) Marshal() []byte

func (*SubsystemRequestPayload) String added in v0.0.2

func (payload *SubsystemRequestPayload) String() string

func (*SubsystemRequestPayload) Unmarshal added in v0.0.2

func (payload *SubsystemRequestPayload) Unmarshal(data []byte) error

type TcpipForwardRequestPayload added in v0.0.2

type TcpipForwardRequestPayload tcpipRequestPayload

func (*TcpipForwardRequestPayload) Marshal added in v0.0.2

func (payload *TcpipForwardRequestPayload) Marshal() []byte

func (*TcpipForwardRequestPayload) Response added in v0.0.2

func (payload *TcpipForwardRequestPayload) Response(port uint32) []byte

func (*TcpipForwardRequestPayload) String added in v0.0.2

func (payload *TcpipForwardRequestPayload) String() string

func (*TcpipForwardRequestPayload) Unmarshal added in v0.0.2

func (payload *TcpipForwardRequestPayload) Unmarshal(data []byte) error

type TunChannelMode added in v0.0.14

type TunChannelMode uint32
const (
	TunChannelModePointToPoint TunChannelMode = 1
	TunChannelModeEthernet     TunChannelMode = 2
)

func (TunChannelMode) String added in v0.0.14

func (mode TunChannelMode) String() string

type TunChannelPayload added in v0.0.14

type TunChannelPayload struct {
	TunnelMode TunChannelMode
	Interface  uint32
}

func (*TunChannelPayload) Marshal added in v0.0.14

func (payload *TunChannelPayload) Marshal() []byte

func (*TunChannelPayload) String added in v0.0.14

func (payload *TunChannelPayload) String() string

func (*TunChannelPayload) Unmarshal added in v0.0.14

func (payload *TunChannelPayload) Unmarshal(data []byte) error

type UnknownPayload added in v0.0.14

type UnknownPayload struct {
	RawPayload
	RequestType string
}

func (*UnknownPayload) String added in v0.0.14

func (payload *UnknownPayload) String() string

type UnsupportedKeyTypeError added in v0.0.18

type UnsupportedKeyTypeError struct {
	// contains filtered or unexported fields
}

func (UnsupportedKeyTypeError) Error added in v0.0.18

func (e UnsupportedKeyTypeError) Error() string

type WindowChangeRequestPayload added in v0.0.2

type WindowChangeRequestPayload struct {
	Width    uint32
	Height   uint32
	WidthPx  uint32
	HeightPx uint32
}

func (*WindowChangeRequestPayload) Marshal added in v0.0.2

func (payload *WindowChangeRequestPayload) Marshal() []byte

func (*WindowChangeRequestPayload) String added in v0.0.2

func (payload *WindowChangeRequestPayload) String() string

func (*WindowChangeRequestPayload) Unmarshal added in v0.0.2

func (payload *WindowChangeRequestPayload) Unmarshal(data []byte) error

type X11ChannelPayload added in v0.0.14

type X11ChannelPayload struct {
	OriginatorAddress string
	OriginatorPort    uint32
}

func (*X11ChannelPayload) Marshal added in v0.0.14

func (payload *X11ChannelPayload) Marshal() []byte

func (*X11ChannelPayload) String added in v0.0.14

func (payload *X11ChannelPayload) String() string

func (*X11ChannelPayload) Unmarshal added in v0.0.14

func (payload *X11ChannelPayload) Unmarshal(data []byte) error

type X11RequestPayload added in v0.0.2

type X11RequestPayload struct {
	SingleConnection       bool
	AuthenticationProtocol string
	AuthenticationCookie   string
	ScreenNumber           uint32
}

func (*X11RequestPayload) Marshal added in v0.0.2

func (payload *X11RequestPayload) Marshal() []byte

func (*X11RequestPayload) String added in v0.0.2

func (payload *X11RequestPayload) String() string

func (*X11RequestPayload) Unmarshal added in v0.0.2

func (payload *X11RequestPayload) Unmarshal(data []byte) error

type XonXoffRequestPayload added in v0.0.14

type XonXoffRequestPayload struct {
	ClientCanDo bool
}

func (*XonXoffRequestPayload) Marshal added in v0.0.14

func (payload *XonXoffRequestPayload) Marshal() []byte

func (*XonXoffRequestPayload) String added in v0.0.14

func (payload *XonXoffRequestPayload) String() string

func (*XonXoffRequestPayload) Unmarshal added in v0.0.14

func (payload *XonXoffRequestPayload) Unmarshal(data []byte) error

Jump to

Keyboard shortcuts

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