kubernetes/vendor/golang.org/x/crypto/ssh/server.go

type Permissions

type GSSAPIWithMICConfig

type ServerConfig

// AddHostKey adds a private key as a host key. If an existing host
// key exists with the same public key format, it is replaced. Each server
// config must have at least one host key.
func (s *ServerConfig) AddHostKey(key Signer) {}

type cachedPubKey

const maxCachedPubKeys

type pubKeyCache

// get returns the result for a given user/algo/key tuple.
func (c *pubKeyCache) get(user string, pubKeyData []byte) (cachedPubKey, bool) {}

// add adds the given tuple to the cache.
func (c *pubKeyCache) add(candidate cachedPubKey) {}

type ServerConn

// NewServerConn starts a new SSH server with c as the underlying
// transport.  It starts with a handshake and, if the handshake is
// unsuccessful, it closes the connection and returns an error.  The
// Request and NewChannel channels must be serviced, or the connection
// will hang.
//
// The returned error may be of type *ServerAuthError for
// authentication errors.
func NewServerConn(c net.Conn, config *ServerConfig) (*ServerConn, <-chan NewChannel, <-chan *Request, error) {}

// signAndMarshal signs the data with the appropriate algorithm,
// and serializes the result in SSH wire format. algo is the negotiate
// algorithm and may be a certificate type.
func signAndMarshal(k AlgorithmSigner, rand io.Reader, data []byte, algo string) ([]byte, error) {}

// handshake performs key exchange and user authentication.
func (s *connection) serverHandshake(config *ServerConfig) (*Permissions, error) {}

func checkSourceAddress(addr net.Addr, sourceAddrs string) error {}

func gssExchangeToken(gssapiConfig *GSSAPIWithMICConfig, token []byte, s *connection,
	sessionID []byte, userAuthReq userAuthRequestMsg) (authErr error, perms *Permissions, err error) {}

// isAlgoCompatible checks if the signature format is compatible with the
// selected algorithm taking into account edge cases that occur with old
// clients.
func isAlgoCompatible(algo, sigFormat string) bool {}

type ServerAuthError

func (l ServerAuthError) Error() string {}

type ServerAuthCallbacks

type PartialSuccessError

func (p *PartialSuccessError) Error() string {}

var ErrNoAuth

type BannerError

func (b *BannerError) Unwrap() error {}

func (b *BannerError) Error() string {}

func (s *connection) serverAuthenticate(config *ServerConfig) (*Permissions, error) {}

type sshClientKeyboardInteractive

func (c *sshClientKeyboardInteractive) Challenge(name, instruction string, questions []string, echos []bool) (answers []string, err error) {}