Documentation
¶
Index ¶
- func GetUniqueID(ctx ssh.ChallengeContext) string
- type ChainPlugins
- func (cp *ChainPlugins) Append(p *GrpcPlugin) error
- func (cp *ChainPlugins) CreateChallengeContext(conn ssh.ServerPreAuthConn) (ssh.ChallengeContext, error)
- func (cp *ChainPlugins) InstallPiperConfig(config *GrpcPluginConfig) error
- func (cp *ChainPlugins) NextAuthMethods(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) ([]string, error)
- type CmdPlugin
- type GrpcPlugin
- func (g *GrpcPlugin) CreateChallengeContext(conn ssh.ServerPreAuthConn) (ssh.ChallengeContext, error)
- func (g *GrpcPlugin) CreatePiperConfig() (*GrpcPluginConfig, error)
- func (g *GrpcPlugin) DownstreamBannerCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) string
- func (g *GrpcPlugin) InstallPiperConfig(config *GrpcPluginConfig) error
- func (g *GrpcPlugin) KeyboardInteractiveCallback(conn ssh.ConnMetadata, client ssh.KeyboardInteractiveChallenge, ...) (*ssh.Upstream, error)
- func (g *GrpcPlugin) NewConnection(meta *PluginConnMeta) error
- func (g *GrpcPlugin) NextAuthMethodsRemote(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) ([]string, error)
- func (g *GrpcPlugin) NoClientAuthCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
- func (g *GrpcPlugin) PasswordCallback(conn ssh.ConnMetadata, password []byte, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
- func (g *GrpcPlugin) PipeCreateErrorCallback(conn net.Conn, err error)
- func (g *GrpcPlugin) PipeErrorCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext, pipeerr error)
- func (g *GrpcPlugin) PipeStartCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext)
- func (g *GrpcPlugin) PublicKeyCallback(conn ssh.ConnMetadata, key ssh.PublicKey, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
- func (g *GrpcPlugin) RecvLogs(writer io.Writer) error
- func (g *GrpcPlugin) UpstreamAuthFailureCallbackLocal(onn ssh.ConnMetadata, method string, err error, ...)
- func (g *GrpcPlugin) UpstreamAuthFailureCallbackRemote(conn ssh.ConnMetadata, method string, err error, ...)
- type GrpcPluginConfig
- type PluginConnMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetUniqueID ¶ added in v1.3.2
func GetUniqueID(ctx ssh.ChallengeContext) string
Types ¶
type ChainPlugins ¶
type ChainPlugins struct {
// contains filtered or unexported fields
}
func (*ChainPlugins) Append ¶
func (cp *ChainPlugins) Append(p *GrpcPlugin) error
func (*ChainPlugins) CreateChallengeContext ¶
func (cp *ChainPlugins) CreateChallengeContext(conn ssh.ServerPreAuthConn) (ssh.ChallengeContext, error)
func (*ChainPlugins) InstallPiperConfig ¶
func (cp *ChainPlugins) InstallPiperConfig(config *GrpcPluginConfig) error
func (*ChainPlugins) NextAuthMethods ¶
func (cp *ChainPlugins) NextAuthMethods(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) ([]string, error)
type CmdPlugin ¶
type CmdPlugin struct {
GrpcPlugin
Quit <-chan error
}
type GrpcPlugin ¶
type GrpcPlugin struct {
Name string
OnNextPlugin func(conn ssh.ChallengeContext, upstream *libplugin.UpstreamNextPluginAuth) error
// contains filtered or unexported fields
}
func DialGrpc ¶
func DialGrpc(conn *grpc.ClientConn) (*GrpcPlugin, error)
func (*GrpcPlugin) CreateChallengeContext ¶
func (g *GrpcPlugin) CreateChallengeContext(conn ssh.ServerPreAuthConn) (ssh.ChallengeContext, error)
func (*GrpcPlugin) CreatePiperConfig ¶
func (g *GrpcPlugin) CreatePiperConfig() (*GrpcPluginConfig, error)
func (*GrpcPlugin) DownstreamBannerCallback ¶ added in v1.5.0
func (g *GrpcPlugin) DownstreamBannerCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) string
func (*GrpcPlugin) InstallPiperConfig ¶
func (g *GrpcPlugin) InstallPiperConfig(config *GrpcPluginConfig) error
func (*GrpcPlugin) KeyboardInteractiveCallback ¶
func (g *GrpcPlugin) KeyboardInteractiveCallback(conn ssh.ConnMetadata, client ssh.KeyboardInteractiveChallenge, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
func (*GrpcPlugin) NewConnection ¶
func (g *GrpcPlugin) NewConnection(meta *PluginConnMeta) error
func (*GrpcPlugin) NextAuthMethodsRemote ¶
func (g *GrpcPlugin) NextAuthMethodsRemote(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) ([]string, error)
func (*GrpcPlugin) NoClientAuthCallback ¶ added in v1.0.62
func (g *GrpcPlugin) NoClientAuthCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
func (*GrpcPlugin) PasswordCallback ¶
func (g *GrpcPlugin) PasswordCallback(conn ssh.ConnMetadata, password []byte, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
func (*GrpcPlugin) PipeCreateErrorCallback ¶ added in v1.2.5
func (g *GrpcPlugin) PipeCreateErrorCallback(conn net.Conn, err error)
func (*GrpcPlugin) PipeErrorCallback ¶ added in v1.0.96
func (g *GrpcPlugin) PipeErrorCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext, pipeerr error)
func (*GrpcPlugin) PipeStartCallback ¶ added in v1.0.96
func (g *GrpcPlugin) PipeStartCallback(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext)
func (*GrpcPlugin) PublicKeyCallback ¶
func (g *GrpcPlugin) PublicKeyCallback(conn ssh.ConnMetadata, key ssh.PublicKey, challengeCtx ssh.ChallengeContext) (*ssh.Upstream, error)
func (*GrpcPlugin) UpstreamAuthFailureCallbackLocal ¶
func (g *GrpcPlugin) UpstreamAuthFailureCallbackLocal(onn ssh.ConnMetadata, method string, err error, challengeCtx ssh.ChallengeContext)
func (*GrpcPlugin) UpstreamAuthFailureCallbackRemote ¶
func (g *GrpcPlugin) UpstreamAuthFailureCallbackRemote(conn ssh.ConnMetadata, method string, err error, challengeCtx ssh.ChallengeContext)
type GrpcPluginConfig ¶ added in v1.0.96
type GrpcPluginConfig struct {
ssh.PiperConfig
PipeCreateErrorCallback func(conn net.Conn, err error)
PipeStartCallback func(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext)
PipeErrorCallback func(conn ssh.ConnMetadata, challengeCtx ssh.ChallengeContext, err error)
}
type PluginConnMeta ¶ added in v1.5.0
func (*PluginConnMeta) ChallengedUsername ¶ added in v1.5.0
func (m *PluginConnMeta) ChallengedUsername() string
ChallengedUsername implements ssh.ChallengeContext
func (*PluginConnMeta) Meta ¶ added in v1.5.0
func (m *PluginConnMeta) Meta() interface{}
Meta implements ssh.ChallengeContext
Click to show internal directories.
Click to hide internal directories.