
fork of the popular jsch library
参见原始 README
正如我在博客文章中所解释的,主要要点如下:
不多。请查看 examples 文件夹中的示例代码。还有一些 wiki 页面,例如 Jsch-Configuration 和 Jsch-Logging。
在 0.2.26 之前,版本号遵循原始 jsch 方案;从 2.27.0 开始,我们切换到语义化版本,以表明该库的 API 是稳定的并已用于生产环境。
com.jcraft:jsch请确保你的 classpath 中只有一个 jsch 依赖。例如,你可以检查 mvn dependency:tree 的输出。
将
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
替换为
<dependency>
<groupId>com.github.mwiede</groupId>
<artifactId>jsch</artifactId>
<version>2.28.0</version>
</dependency>
当你有一个工件 foo:bar,其中包含作为传递依赖的 com.jcraft:jsch 时,你需要将 com.github.mwiede:jsch 添加为另一个依赖,并排除 jcraft 的那个:
<dependency>
<groupId>com.github.mwiede</groupId>
<artifactId>jsch</artifactId>
<version>2.28.0</version>
</dependency>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<exclusions>
<exclusion>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
</exclusion>
</exclusions>
</dependency>
补充:你还可以进一步排除 com.jcraft:jsch.agentproxy.jsch、com.jcraft:jsch.agentproxy.core 或 com.jcraft:jsch.agentproxy.pageant,因为这些模块已集成到此分叉中(参见 0.1.66 的发布说明)。
jsch.server_host_key 和 jsch.client_pubkey 属性中。JSch.setConfig("server_host_key", JSch.getConfig("server_host_key") + ",ssh-rsa") + JSch.setConfig("PubkeyAcceptedAlgorithms", JSch.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa") 的代码。session.setConfig("server_host_key", session.getConfig("server_host_key") + ",ssh-rsa") + session.setConfig("PubkeyAcceptedAlgorithms", session.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa") 的代码。OpenSSHConfig 类。jsch.kex
JSch.setConfig("kex", "...")jsch.server_host_key
JSch.setConfig("server_host_key", "...")jsch.prefer_known_host_key_types
JSch.setConfig("prefer_known_host_key_types", "...")jsch.enable_server_sig_algs
JSch.setConfig("enable_server_sig_algs", "...")jsch.cipher
JSch.setConfig("cipher.s2c", "...") + 参见 ChangeLog.md
JSch.setConfig("cipher.c2s", "...")jsch.mac
JSch.setConfig("mac.s2c", "...") + JSch.setConfig("mac.c2s", "...")jsch.compression
JSch.setConfig("compression.s2c", "...") + JSch.setConfig("compression.c2s", "...")jsch.lang
JSch.setConfig("lang.s2c", "...") + JSch.setConfig("lang.c2s", "...")jsch.dhgex_min
JSch.setConfig("dhgex_min", "...")jsch.dhgex_max
JSch.setConfig("dhgex_max", "...")jsch.dhgex_preferred
JSch.setConfig("dhgex_preferred", "...")jsch.compression_level
JSch.setConfig("compression_level", "...")jsch.preferred_authentications
JSch.setConfig("PreferredAuthentications", "...")jsch.client_pubkey
JSch.setConfig("PubkeyAcceptedAlgorithms", "...")jsch.check_ciphers
JSch.setConfig("CheckCiphers", "...")jsch.check_macs
JSch.setConfig("CheckMacs", "...")jsch.check_kexes
JSch.setConfig("CheckKexes", "...")jsch.check_signatures
JSch.setConfig("CheckSignatures", "...")jsch.fingerprint_hash
JSch.setConfig("FingerprintHash", "...")jsch.max_auth_tries
JSch.setConfig("MaxAuthTries", "...")