Configurable SSH key exchange algorithm and MAC suite (#2806)

This commit is contained in:
Cum Gun 2017-11-02 16:26:41 +01:00 committed by Lunny Xiao
parent d94e2a1c22
commit eecaba2031
4 changed files with 24 additions and 4 deletions

View file

@ -151,10 +151,12 @@ func listen(config *ssh.ServerConfig, host string, port int) {
}
// Listen starts a SSH server listens on given port.
func Listen(host string, port int, ciphers []string) {
func Listen(host string, port int, ciphers []string, keyExchanges []string, macs []string) {
config := &ssh.ServerConfig{
Config: ssh.Config{
Ciphers: ciphers,
Ciphers: ciphers,
KeyExchanges: keyExchanges,
MACs: macs,
},
PublicKeyCallback: func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
pkey, err := models.SearchPublicKeyByContent(strings.TrimSpace(string(ssh.MarshalAuthorizedKey(key))))