func GetAllStrict(alias, key string) ([]string, error) {
	return DefaultUserSettings.GetAllStrict(alias, key)
}
GetAllStrict retrieves zero or more directives for key for the given alias.

In most cases you want to use Get or GetStrict, which returns a single value.
However, a subset of ssh configuration values (IdentityFile, for example)
allow you to specify multiple directives.

The returned error will be non-nil if and only if a user's configuration file
or the system configuration file could not be parsed, and u.IgnoreErrors is
false.

GetAllStrict is a wrapper around DefaultUserSettings.GetAllStrict.
package ssh_config
import (
	"bytes"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	osuser "os/user"
	"path/filepath"
	"regexp"
	"runtime"
	"strings"
	"sync"
)
const version = "1.0"
var _ = version
type configFinder func() string
type UserSettings struct {
	IgnoreErrors       bool
	systemConfig       *Config
	systemConfigFinder configFinder
	userConfig         *Config
	userConfigFinder   configFinder
	loadConfigs        sync.Once
	onceErr            error
}
func homedir() string {
	user, err := osuser.Current()
	if err == nil {
		return user.HomeDir
	} else {
		return os.Getenv("HOME")
	}
}
func userConfigFinder() string {
	return filepath.Join(homedir(), ".ssh", "config")
}
var DefaultUserSettings = &UserSettings{
	IgnoreErrors:       false,
	systemConfigFinder: systemConfigFinder,
	userConfigFinder:   userConfigFinder,
}
func systemConfigFinder() string {
	return filepath.Join("/", "etc", "ssh", "ssh_config")
}
func findVal(c *Config, alias, key string) (string, error) {
	if c == nil {
		return "", nil
	}
	val, err := c.Get(alias, key)
	if err != nil || val == "" {
		return "", err
	}
	if err := validate(key, val); err != nil {
		return "", err
	}
	return val, nil
}
func findAll(c *Config, alias, key string) ([]string, error) {
	if c == nil {
		return nil, nil
	}
	return c.GetAll(alias, key)
}
func Get(alias, key string) string {
	return DefaultUserSettings.Get(alias, key)
}
func GetAll(alias, key string) []string {
	return DefaultUserSettings.GetAll(alias, key)
}
func GetStrict(alias, key string) (string, error) {
	return DefaultUserSettings.GetStrict(alias, key)
}