JSException: Algorithm Negotiation fehlgeschlagen
Ich versuche eine Verbindung zu entfernten sftp server über ssh mit JSch (0.1.44-1) aber während der "Sitzung.connect();" erhalte ich diese exception:
com.jcraft.jsch.JSchException: Algorithm negotiation fail at
com.jcraft.jsch.Session.receive_kexinit(Session.java:529) at
com.jcraft.jsch.Session.connect(Session.java:291) at com.jcraft.jsch.Session.connect(Session.java:154)
...
Protokolle von JSch:
INFO: Connecting to xx.xx.xx.xxport 22
INFO: Connection established
INFO: Remote version string: SSH-2.0-WeOnlyDo 2.0.6
INFO: Local version string: SSH-2.0-JSCH-0.1.44
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: aes256-ctr is not available.
INFO: aes192-ctr is not available.
INFO: aes256-cbc is not available.
INFO: aes192-cbc is not available.
INFO: arcfour256 is not available.
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: Disconnecting from xx.xx.xx.xx port 22
Ich kann mich einloggen, um remote-server mit linux-sftp-Befehl. Ich war versucht zu finden, jede Art von Hinweis im internet, aber ich nicht.
Debug-Ausgabe von linux-sftp-Befehl:
OpenSSH_5.5p1-DAM_1.2, OpenSSL 0.9.8r 8 Feb 201
debug1: Reading configuration data /etc/DAM/ssh/ssh_config
debug1: Applying options for *
debug1: Applying options for *.*
debug1: Connecting to xx.xx.xx.xx [xx.xx.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /**/spv_id_rsa.key type -1
debug1: identity file /**/spv_id_rsa.key-cert type -1
debug1: Remote protocol version 2.0, remote software version WeOnlyDo 2.0.6
debug1: no match: WeOnlyDo 2.0.6
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1-DAM_1.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes256-cbc hmac-md5 none
debug1: kex: client->server aes256-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'xx.xx.xx.xx' is known and matches the RSA host key.
debug1: Found key in ~/.ssh/known_hosts:8
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /**/spv_id_rsa.key
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending subsystem: sftp
Connected to xx.xx.xx.xx.
sftp>
InformationsquelleAutor der Frage Marek Dominiak | 2011-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Orte, die SSH-clients und-Servern versuchen und einigen sich auf eine gemeinsame Umsetzung. Zwei die ich kenne sind die Verschlüsselung und Komprimierung. Der server und der client eine Liste der verfügbaren Optionen und anschließend auf die beste verfügbare option in beiden Listen gewählt wird.
Wenn es keine akzeptable option in den Listen dann schlägt es fehl, mit der Fehlermeldung, die du erhältst. Ich vermute, von der die debug-Ausgabe hier, aber es sieht aus wie die nur-server-Optionen für die Verschlüsselung "AES-256-cbc hmac-md5 none".
JSch nicht-hmac-md5 und AES-256-cbc ist deaktiviert, da der Java-policy-Dateien. Zwei Dinge, die Sie könnten versuchen, sind...
Die erste ist ideal, wenn Sie Zugriff auf den server haben (Vertrauen Sie mir, aes128-cbc ist viel-Verschlüsselung), aber die zweite ist einfach genug, um schnell zu testen, die Theorie.
InformationsquelleAutor der Antwort Pace
Schließlich eine Lösung, die funktioniert, ohne irgendwelche änderungen am server:
Laden Sie die neueste jsch.jar als Yvan schlägt vor: http://sourceforge.net/projects/jsch/files/jsch.jar/
jsch-0.1.52.jar funktioniert einwandfrei
Legen Sie die heruntergeladene Datei in deinen "...\JetBrains\PhpStorm 8.0.1\lib", und entfernen Sie die vorhandene jsch-Datei (für PHPStorm 8 mit jsch-0.1.50.jar)
Neustart von PHPStorm und es sollte funktionieren
Verwenden Sie die gleiche Lösung für Webstorm
InformationsquelleAutor der Antwort brunettdan
FWIW, ich hatte die gleiche Fehlermeldung unter JSch 0.1.50. Upgrade auf 0.1.52 das problem gelöst.
InformationsquelleAutor der Antwort cobbzilla
Ich hatte das gleiche Problem, läuft Netbeans 8.0 auf Windows, und JRE 1.7.
Ich gerade installiert JRE 1.8 aus https://www.java.com/fr/download/ (beachten Sie, dass es heißt
Version 8
aber es ist version 1.8, wenn Sie es installieren), und es behoben.InformationsquelleAutor der Antwort Yvan
Die Schritte zum hinzufügen von algorithmen an den EMPFANGENDEN server (der Sie eine Verbindung herstellen). Ich nehme an, dies ist ein Linux-server.
Fügen Sie diese in die Datei (am Ende):
Starten Sie anschließend den SSH-server:
InformationsquelleAutor der Antwort mrmuggles
Das Problem ist mit der Version von JSCH jar Sie verwenden.
Aktualisieren, um die neuesten jar.
War ich auch immer den gleichen Fehler und dieser Lösung gearbeitet.
Können Sie download neueste jar von
http://www.jcraft.com/jsch/
InformationsquelleAutor der Antwort Aditya
Funktionierte, aber stellen Sie sicher, dass Sie sshd neu starten:
sudo service sshd restart
InformationsquelleAutor der Antwort Adamsaurus
Stellen Sie sicher, dass Sie über die neueste version von JSch. Ich hatte genau dasselbe problem bei der Verwendung von JSch 0.1.31 und versucht, eine Verbindung zu einem RedHat 5 server. Aktualisierung auf die neueste version hat das problem gelöst.
InformationsquelleAutor der Antwort TJ von Mechow