Documentation ¶
Overview ¶
Package srv implements SSH server that supports multiplexing tunneling, SSH connections proxying and only supports Key based auth
Index ¶
- type Server
- func (s *Server) Addr() string
- func (s *Server) AdvertiseAddr() string
- func (s *Server) Close() error
- func (s *Server) EmitAuditEvent(eventType string, fields events.EventFields)
- func (s *Server) HandleNewChan(nc net.Conn, sconn *ssh.ServerConn, nch ssh.NewChannel)
- func (s *Server) HandleRequest(r *ssh.Request)
- func (s *Server) ID() string
- func (s *Server) PermitUserEnvironment() bool
- func (s *Server) Start() error
- func (s *Server) Wait()
- type ServerOption
- func SetAuditLog(alog events.IAuditLog) ServerOption
- func SetLabels(labels map[string]string, cmdLabels services.CommandLabels) ServerOption
- func SetLimiter(limiter *limiter.Limiter) ServerOption
- func SetNamespace(namespace string) ServerOption
- func SetPermitUserEnvironment(permitUserEnvironment bool) ServerOption
- func SetProxyMode(tsrv reversetunnel.Server) ServerOption
- func SetSessionServer(srv rsession.Service) ServerOption
- func SetShell(shell string) ServerOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
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) AdvertiseAddr ¶ added in v1.0.0
AdvertiseAddr returns an address this server should be publicly accessible as, in "ip:host" form
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 ¶
HandleRequest is a callback for handling global out-of-band requests.
func (*Server) PermitUserEnvironment ¶
PermitUserEnvironment returns if ~/.tsh/environment will be read before a session is created by this server.
type ServerOption ¶
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 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 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