See original README
As I explained in a blog post the main points are:
- OpenSSH will disable ssh-rsa in the future per default and you need a library which supports rsa-sha2-256 and rsa-sha2-512.
- Drop in replacement: just change dependency coordinates and you are good to go.
- No active maintenance of JSch at SourceForge.
- Stay in sync with OpenJDK features so there is no need for additional dependencies.
- Is this fork 100% compatible with original JSch, because the connection to my server does not work any more!
- For compatibility with OpenSSH and improved security, the order of crypto algorithms was changed. If you still want to use older or deprecated algorithms, you need to change the configuration. Examples see #37, #40
- To make it easier to adjust the crypto algorithms, starting with 0.1.65 the following system properties can be set
at your application's startup:
jsch.kex
- analogous to
JSch.setConfig("kex", "...")
- analogous to
jsch.server_host_key
- analogous to
JSch.setConfig("server_host_key", "...")
- analogous to
jsch.cipher
- analogous to
JSch.setConfig("cipher.s2c", "...")
+JSch.setConfig("cipher.c2s", "...")
- analogous to
jsch.mac
- analogous to
JSch.setConfig("mac.s2c", "...")
+JSch.setConfig("mac.c2s", "...")
- analogous to
jsch.compression
- analogous to
JSch.setConfig("compression.s2c", "...")
+JSch.setConfig("compression.c2s", "...")
- analogous to
jsch.lang
- analogous to
JSch.setConfig("lang.s2c", "...")
+JSch.setConfig("lang.c2s", "...")
- analogous to
jsch.dhgex_min
- analogous to
JSch.setConfig("dhgex_min", "...")
- analogous to
jsch.dhgex_max
- analogous to
JSch.setConfig("dhgex_max", "...")
- analogous to
jsch.dhgex_preferred
- analogous to
JSch.setConfig("dhgex_preferred", "...")
- analogous to
jsch.compression_level
- analogous to
JSch.setConfig("compression_level", "...")
- analogous to
jsch.preferred_authentications
- analogous to
JSch.setConfig("PreferredAuthentications", "...")
- analogous to
jsch.client_pubkey
- analogous to
JSch.setConfig("PubkeyAcceptedAlgorithms", "...")
- analogous to
jsch.check_ciphers
- analogous to
JSch.setConfig("CheckCiphers", "...")
- analogous to
jsch.check_macs
- analogous to
JSch.setConfig("CheckMacs", "...")
- analogous to
jsch.check_kexes
- analogous to
JSch.setConfig("CheckKexes", "...")
- analogous to
jsch.check_signatures
- analogous to
JSch.setConfig("CheckSignatures", "...")
- analogous to
jsch.fingerprint_hash
- analogous to
JSch.setConfig("FingerprintHash", "...")
- analogous to
jsch.max_auth_tries
- analogous to
JSch.setConfig("MaxAuthTries", "...")
- analogous to
- Are ssh-ed25519, ssh-ed448, curve25519-sha256, curve448-sha512 & [email protected] supported?
- This library is a Multi-Release-jar, which means that you can only use certain features when a more recent Java version is used.
- In order to use ssh-ed25519 & ssh-ed448, you must use at least Java 15.
- In order to use curve25519-sha256, curve448-sha512 & [email protected], you must use at least Java 11.
- This library is a Multi-Release-jar, which means that you can only use certain features when a more recent Java version is used.
- 0.1.65
- Added system properties to allow manipulation of various crypto algorithms used by default
- Integrated JZlib, allowing use of [email protected] & zlib compressions without the need to provide the JZlib jar-file
- Modularized the jar-file for use with Java 9 or newer
- Added runtime controls for the min/max/preferred sizes used for diffie-hellman-group-exchange-sha256 & diffie-hellman-group-exchange-sha1
- Renamed PubkeyAcceptedKeyTypes config to PubkeyAcceptedAlgorithms to match recent changes in OpenSSH (PubkeyAcceptedKeyTypes is still accepted for backward compatibility)
- Reduced number of algorithms that are runtime checked by default via CheckCiphers, CheckMacs, CheckKExes & CheckSignatures to improve runtime performance
- 0.1.64 Fixing #55
- 0.1.63 Fixing #42
- 0.1.62 bugfixes and code cleanup
- 0.1.61
- Add support for [email protected], ssh-ed25519, ssh-ed448, curve448-sha512, diffie-hellman-group15-sha512 & diffie-hellman-group17-sha512. This makes use of the new EdDSA feature added in Java 15's JEP 339. #17
- added integration test for public key authentication #19
- 0.1.60
- support for openssh-v1-private-key format opensshFormat.md.
- Fix bug with AEAD ciphers when compression is used. #15
- 0.1.59 fixing issue from https://sourceforge.net/p/jsch/mailman/message/36872566/
- 0.1.58 support for more algorithms contributed by @norrisjeremy see #4
- 0.1.57 support for rsa-sha2-256 and rsa-sha2-512. #1
- 0.1.56 support for [email protected] (see SocketForwardingL.java)