MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / createConfiguration

Method createConfiguration

internal/sshserver/serverImpl.go:335–365  ·  view source on GitHub ↗
(
	meta metadata.ConnectionMetadata,
	handlerNetworkConnection *networkConnectionWrapper,
	logger log.Logger,
)

Source from the content-addressed store, hash-verified

333}
334
335func (s *serverImpl) createConfiguration(
336 meta metadata.ConnectionMetadata,
337 handlerNetworkConnection *networkConnectionWrapper,
338 logger log.Logger,
339) *ssh.ServerConfig {
340 passwordCallback, pubkeyCallback, keyboardInteractiveCallback, gssConfig := s.createAuthenticators(
341 meta,
342 handlerNetworkConnection,
343 logger,
344 )
345
346 serverConfig := &ssh.ServerConfig{
347 Config: ssh.Config{
348 KeyExchanges: s.cfg.KexAlgorithms.StringList(),
349 Ciphers: s.cfg.Ciphers.StringList(),
350 MACs: s.cfg.MACs.StringList(),
351 },
352 NoClientAuth: false,
353 MaxAuthTries: 6,
354 PasswordCallback: passwordCallback,
355 PublicKeyCallback: pubkeyCallback,
356 KeyboardInteractiveCallback: keyboardInteractiveCallback,
357 GSSAPIWithMICConfig: gssConfig,
358 ServerVersion: s.cfg.ServerVersion.String(),
359 BannerCallback: func(conn ssh.ConnMetadata) string { return s.cfg.Banner },
360 }
361 for _, key := range s.hostKeys {
362 serverConfig.AddHostKey(key)
363 }
364 return serverConfig
365}
366
367func (s *serverImpl) createAuthenticators(
368 meta metadata.ConnectionMetadata,

Callers 1

handleConnectionMethod · 0.95

Calls 3

createAuthenticatorsMethod · 0.95
StringMethod · 0.65
StringListMethod · 0.45

Tested by

no test coverage detected