ussher/ssh_server.go

17 lines
395 B
Go

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)
}