func NewServer() (*Server, error) {
	server := Server{}
	server.SshConfig = &ssh.ServerConfig{
		PasswordCallback:            server.PasswordCallback,
		PublicKeyCallback:           server.PublicKeyCallback,
		KeyboardInteractiveCallback: server.KeyboardInteractiveCallback,
	}
	server.ClientConfigs = make(map[string]*ClientConfig, 0)
	server.DefaultShell = "/bin/sh"
	return &server, nil
}
NewServer initialize a new Server instance with default values
package ssh2docker
import (
	"io/ioutil"
	"net"
	"os"
	"strings"
	"github.com/apex/log"
	"github.com/moul/ssh2docker/pkg/dockerhelper"
	"golang.org/x/crypto/ssh"
)
type Server struct {
	SshConfig *ssh.ServerConfig
	ClientConfigs map[string]*ClientConfig
	AllowedImages        []string
	DefaultShell         string
	DockerRunArgsInline  string
	DockerExecArgsInline string
	PasswordAuthScript   string
	PublicKeyAuthScript  string
	LocalUser            string
	Banner               string
	NoJoin               bool
	CleanOnStartup       bool
	initialized bool
}