2017-05-30 6 views
0

Ich bin neu in GoLang und ich versuche, eine Verbindung zu einem Remote-Server mit go. Aber ich halte die folgende Fehlermeldung erhaltenGoLang: "Kein gemeinsamer Algorithmus für Schlüsselaustausch" Fehler

Failed to dial: ssh: handshake failed: ssh: no common algorithm for key exchange; client offered: [curve2****-sh****@libssh.org ****-sha*-nis****ecdh-sha2-nistp384 ecdh-sha2-nistp**** diffie-hellman-group14-sha1 diffie-hellman-group1-sha1], server offered: [diffie-hellman-group-exchange-sha***] 

unten ist die Config, die ich

config := &ssh.ClientConfig{ 

    User: user, 

    HostKeyCallback: nil, 

    Auth: []ssh.AuthMethod{ 

    publicKey, 
    }, 
} 

Antwort

2

Nun verbinden verwenden, wie der Fehler sagt, der Client und der Server haben keine Algorithmen sie‘ bereit zuzustimmen, damit sie nicht reden können. Die sechs, die Go anbietet, sind alle, die er unterstützt (von den 12, die openssh anbietet); Der Server bietet nur ein das ist keiner von denen. Ihre Optionen:

  1. Überzeugen Sie den Server, mehr KEX-Algorithmen zu akzeptieren; es ist möglich, dass es mehr unterstützt, und jemand hat es nur sehr restriktiv konfiguriert.
  2. Implementieren Sie DH Group Exchange für x/crypto/ssh selbst, und senden Sie den Patch upstream.
  3. Suchen Sie einen anderen Kunden.
+0

Wenn möglich, könnten Sie mir sagen, wie man jede/jede von denen zu tun? Ich bin sehr neu in der Golang und Netzwerk Programmierung und ich würde jede Hilfe zu schätzen wissen. Danke – user1851006

Verwandte Themen