
fork of the popular jsch library
元の README を参照
ブログ記事で説明したように、主なポイントは次の通りです:
あまりありません。examples フォルダのサンプルコードを確認してください。また、いくつかの Wiki ページ、すなわち Jsch-Configuration と Jsch-Logging があります。
0.2.26 までは元の jsch の方式に従っていましたが、2.27.0 以降は セマンティックバージョニング に切り替え、ライブラリ API が安定しており本番環境で使用されていることを示しています。
com.jcraft:jsch の置き換えとしてこのライブラリを使う方法クラスパス上に jsch の依存関係が 1 つだけあることを確認してください。たとえば、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", "...") に相当