2017-05-30 105 views
2

我试图使用GoLang连接到远程服务器。在客户端配置,除了用户名和密码,我设置HostKeyCallback到零,这样它接受的每台主机GoLang ssh:尽管设置为“无法指定HosKeyCallback”错误

config := &ssh.ClientConfig{ 

     User: user, 

     HostKeyCallback: nil, 

     Auth: []ssh.AuthMethod{ 

     publicKey, 
    }, 
} 

,但我不断收到此错误。

Failed to dial: ssh: must specify HostKeyCallback 

我该如何解决这个问题?

回答

3

零为HostKeyCallback的行为已更改:https://github.com/golang/go/issues/19767

如果你想允许任何主机:

HostKeyCallback: ssh.InsecureIgnoreHostKey() 
+0

非常感谢您的回答。但这样做后,我看到以下错误: ssh:没有通用的密钥交换算法;客户端提供:[xxxxxxxxxxx],服务器提供:[xxxxxxxx] – user1851006

+0

您可能需要指定'KeyExchanges'此处记录https://godoc.org/golang.org/x/crypto/ssh#Config它使用的默认值可能不会包括服务器想要使用的任何一个。 – ctcherry

相关问题