GoLang ssh:尽管设置为“无法指定HosKeyCallback”错误
问题描述:
我试图使用GoLang连接到远程服务器。在客户端配置,除了用户名和密码,我设置HostKeyCallback到零,这样它接受的每台主机GoLang ssh:尽管设置为“无法指定HosKeyCallback”错误
config := &ssh.ClientConfig{
User: user,
HostKeyCallback: nil,
Auth: []ssh.AuthMethod{
publicKey,
},
}
,但我不断收到此错误。
Failed to dial: ssh: must specify HostKeyCallback
我该如何解决这个问题?
答
零为HostKeyCallback的行为已更改:https://github.com/golang/go/issues/19767
如果你想允许任何主机:
HostKeyCallback: ssh.InsecureIgnoreHostKey()
非常感谢您的回答。但这样做后,我看到以下错误: ssh:没有通用的密钥交换算法;客户端提供:[xxxxxxxxxxx],服务器提供:[xxxxxxxx] – user1851006
您可能需要指定'KeyExchanges'此处记录https://godoc.org/golang.org/x/crypto/ssh#Config它使用的默认值可能不会包括服务器想要使用的任何一个。 – ctcherry