Java Clean Architecture Masterclass

Java Clean Architecture MasterclassNov 20-21

Join

Fork of JSch-0.1.55

See original README

GitHub release Maven Central Java CI with Maven

Why should you use this library?

As I explained in a blog post the main points are:

Is there any documentation?

Not much. Check the example code in the examples folder. And there are some wiki pages, i.e. Jsch-Configuration and Jsch-Logging.

Versioning

Up until 0.2.26 the versioning followed the original jsch scheme, from 2.27.0 on, we switched to semantic versioning, expressing that the library api is stable and used in production.

How to you use this library as a replacement for com.jcraft:jsch

Make sure, that you only have one jsch dependency on your classpath. For example you can check the output of mvn dependency:tree.

by replacing a direct maven dependency

replace

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>

with

<dependency>
  <groupId>com.github.mwiede</groupId>
  <artifactId>jsch</artifactId>
  <version>2.27.0</version>
</dependency>

by replacing jsch as a transitive maven dependency

When you have an artifact foo:bar, which contains com.jcraft:jsch as a transitive dependency, you need to add com.github.mwiede:jsch as another dependency and exclude the jcraft one:

<dependency>
  <groupId>com.github.mwiede</groupId>
  <artifactId>jsch</artifactId>
  <version>2.27.0</version>
</dependency>
<dependency>
  <groupId>foo</groupId>
  <artifactId>bar</artifactId>
  <exclusions>
        <exclusion>  
          <groupId>com.jcraft</groupId>
          <artifactId>jsch</artifactId>
        </exclusion>
      </exclusions> 
</dependency>

Addition: You can further exclude any of com.jcraft:jsch.agentproxy.jsch, com.jcraft:jsch.agentproxy.core or com.jcraft:jsch.agentproxy.pageant, because these modules where integrated in this fork (see release notes of 0.1.66).

FAQ

Which is the minimum Java version required?

Are ssh-ed25519, ssh-ed448, curve25519-sha256, curve448-sha512 & chacha20-poly1305@openssh.com supported?

Why do ssh-rsa type keys not work with this JSch fork and my server?

Is this fork 100% compatible with original JSch, because the connection to my server does not work any more!

Changes since fork:

See ChangeLog.md

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.