2017-05-30 45 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

相關問題