connect

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeConnect = "tcp"

	Timeout = 0

	EnableMod = 1
	ICRNLMod  = 1
	INLCRMod  = 1
	ISIGMod   = 1

	ISPEED = 115200
	OSPEED = 115200

	TypeTerm       = "xterm-256color"
	HeightTerminal = 80
	WidthTerminal  = 40
)

Variables

This section is empty.

Functions

func NewSftp added in v1.2.0

func NewSftp(connection *Connect, opts ...sftp.ClientOption) (*sftp.Client, error)

Types

type Connect

type Connect struct {
	// Alias is a user-defined name for the connection
	Alias     string `json:"alias"`
	Login     string `json:"login"`
	Address   string `json:"address"`
	Password  string `json:"password"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`

	// Type specifies the connection protocol (e.g., "ssh")
	Type ConnectionType `json:"type"`

	// SshOptions contains SSH-specific configuration options
	SshOptions *SshOptions `json:"ssh_options,omitempty"`
}

Connect represents a single connection configuration

func (*Connect) Validate added in v1.0.5

func (c *Connect) Validate() error

type ConnectionType

type ConnectionType string
const TypeSSH ConnectionType = "ssh"

TypeSSH type for ssh connection

type Connections

type Connections struct {
	Connects []Connect `json:"connects"`
}

type Sftp added in v1.2.0

type Sftp struct{}

type Ssh

type Ssh struct{}

func (*Ssh) Client added in v1.2.0

func (s *Ssh) Client(connection *Connect) (*ssh.Client, error)

func (*Ssh) Connect

func (s *Ssh) Connect(session *ssh.Session) error

Connect starts an interactive shell session using the established SSH connection. It manages the session lifecycle including proper cleanup on exit. Returns error if shell startup or session wait fails.

func (*Ssh) Session

func (s *Ssh) Session(connection *Connect) (*ssh.Session, error)

Session establishes a new SSH session with the remote server. It handles the complete connection lifecycle including: - Authentication (password or private key) - Client creation - Terminal setup - Error handling and resource cleanup Returns an active SSH session or error if any step fails.

type SshOptions

type SshOptions struct {
	// Port specifies the SSH port (default is 22 if not specified)
	Port int `json:"port"`

	// PrivateKey contains the PEM-encoded private key for authentication
	PrivateKey string `json:"private_key"`
}

SshOptions contains configuration options specific to SSH connections

Jump to

Keyboard shortcuts

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