You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At first please note that I'm not a crypto expert. I'm having trouble to understand the internals of ssh and its algorithms is use. However - I would like to understand it a bit deeper which is the reason why I'm asking the following question.
Until Version 0.1.57 of Jsch I was able to successfully connect to the remote host in question.
With newer version I'm getting:
com.jcraft.jsch.JSchAlgoNegoFailException: Algorithm negotiation fail: algorithmName="cipher.c2s" jschProposal="aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com" serverProposal="aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc"
at com.jcraft.jsch.KeyExchange.guess(KeyExchange.java:157)
at com.jcraft.jsch.Session.receive_kexinit(Session.java:614)
at com.jcraft.jsch.Session.connect(Session.java:336)
at tests.JSchTest.main(JSchTest.java:71)
I'm able to connect to the server again. As far as I understand I (re)enable aes256-cbc as an allowed protocol.
Is this the "best" I can do to connect to this server? Can I consider that CBC in general is an insecure encryption mode and thus was disabled by default?
I would like to inform the operator of this SSH Server which seems to host a "GoAnywhere" system which itself seems not to be an outdated product so maybe he/she should be able to enable a more "modern" encryption protocol.
If you simply search around on Google I'm sure you can find guidance as to how secure various crypto algorithms are these days.
But to summarize: we strive to keep JSch's default algorithms mostly inline with algorithms that the OpenSSH project does.
So if the algorithm isn't enabled by default in JSch, then there is likely a reason for that.
At first please note that I'm not a crypto expert. I'm having trouble to understand the internals of ssh and its algorithms is use. However - I would like to understand it a bit deeper which is the reason why I'm asking the following question.
Until Version 0.1.57 of Jsch I was able to successfully connect to the remote host in question.
With newer version I'm getting:
If I modify my code to the following:
I'm able to connect to the server again. As far as I understand I (re)enable aes256-cbc as an allowed protocol.
Is this the "best" I can do to connect to this server? Can I consider that CBC in general is an insecure encryption mode and thus was disabled by default?
I would like to inform the operator of this SSH Server which seems to host a "GoAnywhere" system which itself seems not to be an outdated product so maybe he/she should be able to enable a more "modern" encryption protocol.
Please find full log of failed connection
Jsch-0.2.17.log
The text was updated successfully, but these errors were encountered: