code: func makeTeleportClientConfig(ctx *SessionContext) (*client.Config, error) {
  	agent, cert, err := ctx.GetAgent()
  	if err != nil {
  		return nil, trace.BadParameter("failed to get user credentials: %v", err)
  	}
  
  	signers, err := agent.Signers()
  	if err != nil {
  		return nil, trace.BadParameter("failed to get user credentials: %v", err)
  	}
  
  	tlsConfig, err := ctx.ClientTLSConfig()
  	if err != nil {
  		return nil, trace.BadParameter("failed to get client TLS config: %v", err)
  	}
  
  	config := &client.Config{
  		Username:         ctx.user,
  		Agent:            agent,
  		SkipLocalAuth:    true,
  		TLS:              tlsConfig,
  		AuthMethods:      []ssh.AuthMethod{ssh.PublicKeys(signers...)},
  		DefaultPrincipal: cert.ValidPrincipals[0],
  		HostKeyCallback:  func(string, net.Addr, ssh.PublicKey) error { return nil },
  	}
  
  	return config, nil
  }
docs: // makeTeleportClientConfig creates default teleport client configuration
  // that is used to initiate an SSH terminal session or SCP file transfer