package ussher import "golang.org/x/crypto/ssh" func RunSSHServer(config *Config) error { sshConfig := &ssh.ServerConfig{ PublicKeyCallback: func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) { return config.Keystore.CheckPublicKey(conn.User(), key) }, } private, err := config.GetPrivateKey() if err != nil { return err } sshConfig.AddHostKey(private) }