srv

package
v2.3.5+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2017 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Package srv implements SSH server that supports multiplexing tunneling, SSH connections proxying and only supports Key based auth

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Server

type Server struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Server implements SSH server that uses configuration backend and certificate-based authentication

func New

func New(addr utils.NetAddr,
	hostname string,
	signers []ssh.Signer,
	authService auth.AccessPoint,
	dataDir string,
	advertiseIP net.IP,
	proxyPublicAddr utils.NetAddr,
	options ...ServerOption) (*Server, error)

New returns an unstarted server

func (*Server) Addr

func (s *Server) Addr() string

Addr returns server address

func (*Server) AdvertiseAddr added in v1.0.0

func (s *Server) AdvertiseAddr() string

AdvertiseAddr returns an address this server should be publicly accessible as, in "ip:host" form

func (*Server) Close

func (s *Server) Close() error

Close closes listening socket and stops accepting connections

func (*Server) EmitAuditEvent added in v1.0.0

func (s *Server) EmitAuditEvent(eventType string, fields events.EventFields)

EmitAuditEvent logs a given event to the audit log attached to the server who owns these sessions

func (*Server) HandleNewChan

func (s *Server) HandleNewChan(nc net.Conn, sconn *ssh.ServerConn, nch ssh.NewChannel)

HandleNewChan is called when new channel is opened

func (*Server) HandleRequest

func (s *Server) HandleRequest(r *ssh.Request)

HandleRequest is a callback for handling global out-of-band requests.

func (*Server) ID

func (s *Server) ID() string

ID returns server ID

func (*Server) PermitUserEnvironment

func (s *Server) PermitUserEnvironment() bool

PermitUserEnvironment returns if ~/.tsh/environment will be read before a session is created by this server.

func (*Server) Start

func (s *Server) Start() error

Start starts server

func (*Server) Wait

func (s *Server) Wait()

Wait waits until server stops

type ServerOption

type ServerOption func(s *Server) error

ServerOption is a functional option passed to the server

func SetAuditLog added in v1.0.0

func SetAuditLog(alog events.IAuditLog) ServerOption

SetAuditLog assigns an audit log interfaces to this server

func SetCiphers

func SetCiphers(ciphers []string) ServerOption

func SetKEXAlgorithms

func SetKEXAlgorithms(kexAlgorithms []string) ServerOption

func SetLabels

func SetLabels(labels map[string]string,
	cmdLabels services.CommandLabels) ServerOption

SetLabels sets dynamic and static labels that server will report to the auth servers

func SetLimiter added in v1.0.0

func SetLimiter(limiter *limiter.Limiter) ServerOption

SetLimiter sets rate and connection limiter for this server

func SetMACAlgorithms

func SetMACAlgorithms(macAlgorithms []string) ServerOption

func SetNamespace

func SetNamespace(namespace string) ServerOption

func SetPermitUserEnvironment

func SetPermitUserEnvironment(permitUserEnvironment bool) ServerOption

SetPermitUserEnvironment allows you to set the value of permitUserEnvironment.

func SetProxyMode

func SetProxyMode(tsrv reversetunnel.Server) ServerOption

SetProxyMode starts this server in SSH proxying mode

func SetSessionServer

func SetSessionServer(srv rsession.Service) ServerOption

SetSessionServer represents realtime session registry server

func SetShell

func SetShell(shell string) ServerOption

SetShell sets default shell that will be executed for interactive sessions

Jump to

Keyboard shortcuts

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