
fork of the popular jsch library
원본 README 참조
제가 블로그 포스트에서 설명했듯이 주요 요점은 다음과 같습니다:
많지 않습니다. examples 폴더의 예제 코드를 확인하세요. 그리고 Jsch-Configuration 및 Jsch-Logging과 같은 위키 페이지도 몇 가지 있습니다.
0.2.26까지는 원래 jsch 방식을 따랐으며, 2.27.0부터는 시맨틱 버저닝으로 전환하여 라이브러리 API가 안정적이고 프로덕션에서 사용되고 있음을 나타냅니다.
com.jcraft:jsch를 대체하기 위해 이 라이브러리를 사용하는 방법클래스패스에 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>
com.jcraft:jsch를 전이적 종속성으로 포함하는 아티팩트 foo:bar가 있는 경우, 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 속성에 "ssh-rsa"를 추가합니다.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")와 유사한 코드를 실행합니다.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 참조
OpenSSHConfigJSch.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", "...")와 유사