Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
jsch — Abspaltung der beliebten jsch-Bibliothek | Kitploit
Tools/GitHubGitHub/mwiede/jsch
Authentifizierung & AutorisierungVerschlüsselungs-/EntschlüsselungstoolsNetzwerksicherheitDienstprogramme & FrameworksRemote-Access-Tool
GitHubmwiede/jsch

jsch

Abspaltung der beliebten jsch-Bibliothek

Repository anzeigen
1.1k18870vor 2 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
# Fork von JSch-0.1.55

Siehe ursprüngliche [README](https://github.com/mwiede/jsch/blob/master/README)

[![GitHub release](https://img.shields.io/github/v/tag/mwiede/jsch.svg)](https://github.com/mwiede/jsch/releases/latest)
[![Maven Central](https://maven-badges.sml.io/sonatype-central/com.github.mwiede/jsch/badge.svg)](https://maven-badges.sml.io/sonatype-central/com.github.mwiede/jsch)
![Java CI with Maven](https://github.com/mwiede/jsch/workflows/Java%20CI%20with%20Maven/badge.svg)

## Warum sollten Sie diese Bibliothek verwenden?

Wie ich in einem [Blogbeitrag](http://www.matez.de/index.php/2020/06/22/the-future-of-jsch-without-ssh-rsa/) erklärt habe, sind die Hauptpunkte:
* OpenSSH hat ssh-rsa in [Version 8.8](https://www.openssh.com/txt/release-8.8) standardmäßig deaktiviert, und Sie benötigen eine Bibliothek, die rsa-sha2-256 und rsa-sha2-512 unterstützt.
* Drop-in-Ersatz: Ändern Sie einfach die Abhängigkeitskoordinaten und schon können Sie loslegen.
* Keine aktive Wartung von [JSch auf SourceForge](https://sourceforge.net/projects/jsch/).
* Bleiben Sie mit den OpenJDK-Funktionen synchron, sodass keine zusätzlichen Abhängigkeiten erforderlich sind.

## Gibt es eine Dokumentation?

Nicht viel. Schauen Sie sich den Beispielcode im Ordner [examples](https://github.com/mwiede/jsch/tree/master/examples) an. Und es gibt einige Wiki-Seiten, z. B. [Jsch-Configuration](https://github.com/mwiede/jsch/wiki/Jsch-Configuration) und [Jsch-Logging](https://github.com/mwiede/jsch/wiki/Jsch-Logging).

## Versionsverwaltung

Bis `0.2.26` folgte die Versionsverwaltung dem ursprünglichen jsch-Schema; ab `2.27.0` sind wir auf [Semantic Versioning](https://semver.org) umgestiegen, um auszudrücken, dass die Bibliotheks-API stabil ist und in der Produktion verwendet wird.

## Wie verwende ich diese Bibliothek als Ersatz für `com.jcraft:jsch`?

Stellen Sie sicher, dass Sie nur eine jsch-Abhängigkeit in Ihrem Klassenpfad haben. Sie können beispielsweise die Ausgabe von `mvn dependency:tree` überprüfen.

### Durch Ersetzen einer direkten Maven-Abhängigkeit

ersetzen Sie
```xml
<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>
```
durch
```xml
<dependency>
  <groupId>com.github.mwiede</groupId>
  <artifactId>jsch</artifactId>
  <version>2.28.0</version>
</dependency>
```

### Durch Ersetzen von jsch als transitiver Maven-Abhängigkeit

Wenn Sie ein Artefakt `foo:bar` haben, das `com.jcraft:jsch` als transitive Abhängigkeit enthält, müssen Sie `com.github.mwiede:jsch` als weitere Abhängigkeit hinzufügen und die jcraft-Abhängigkeit ausschließen:
```xml
<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>
```

*Hinweis*: Sie können außerdem jede der Abhängigkeiten `com.jcraft:jsch.agentproxy.jsch`, `com.jcraft:jsch.agentproxy.core` oder `com.jcraft:jsch.agentproxy.pageant` ausschließen, da diese Module in diesen Fork integriert wurden (siehe Versionshinweise zu [0.1.66](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.66)).

## FAQ
### Welche minimale Java-Version ist erforderlich?
  * Java 8. Weitere Einschränkungen finden Sie in der nächsten Antwort.
### Werden ssh-ed25519, ssh-ed448, curve25519-sha256, curve448-sha512 & chacha20-poly1305@<!-- -->openssh.com unterstützt?
  * Diese Bibliothek ist ein [Multi-Release-JAR](https://openjdk.org/jeps/238), was bedeutet, dass Sie bestimmte Funktionen nur nutzen können, wenn eine neuere Java-Version verwendet wird.
    * Um ssh-ed25519 & ssh-ed448 zu verwenden, müssen Sie mindestens Java 15 verwenden oder [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk18on) zum Klassenpfad hinzufügen.
    * Um curve25519-sha256 & curve448-sha512 zu verwenden, müssen Sie mindestens Java 11 verwenden oder [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk18on) zum Klassenpfad hinzufügen.
    * Um chacha20-poly1305@<!-- -->openssh.com zu verwenden, müssen Sie [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk18on) zum Klassenpfad hinzufügen.
  * Seit dem Release [0.1.66](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.66) können diese Algorithmen nun mit älteren Java-Versionen verwendet werden, wenn [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk18on) zum Klassenpfad hinzugefügt wird.
    * Seit dem Release [0.1.72](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.72) kann chacha20-poly1305@<!-- -->openssh.com nur verwendet werden, wenn [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk18on) zum Klassenpfad hinzugefügt wird.
### Warum funktionieren Schlüssel vom Typ ssh-rsa nicht mit diesem JSch-Fork und meinem Server?
  * Seit dem Release [0.2.0](https://github.com/mwiede/jsch/releases/tag/jsch-0.2.0) ist der RSA/SHA1-Signaturalgorithmus standardmäßig deaktiviert.
    * SHA1 wird von der allgemeinen Kryptographie-Gemeinschaft nicht mehr als sicher angesehen, und dieser JSch-Fork bemüht sich, sichere Standardalgorithmen beizubehalten, die er verwendet.
    * Dies folgt auch dem Vorbild des OpenSSH-Projekts, das RSA/SHA1-Signaturen ab [OpenSSH-Version 8.8](https://www.openssh.com/txt/release-8.8) standardmäßig deaktiviert hat.
  * Schlüssel vom Typ ssh-rsa funktionieren weiterhin standardmäßig mit den RSA/SHA256- (rsa-sha2-256) und RSA/SHA512- (rsa-sha2-512) Signaturalgorithmen, die in [RFC 8332](https://datatracker.ietf.org/doc/html/rfc8332) definiert sind.
  * Wenn Ihr Server nur RSA/SHA1-Signaturen unterstützt und Sie deren Verwendung in Ihrer Anwendung benötigen, müssen Sie sie manuell auf eine der folgenden Arten wieder aktivieren (siehe auch die Wiki-Seite [Jsch-Configuration](https://github.com/mwiede/jsch/wiki/Jsch-Configuration)):
    * Global, indem Sie "ssh-rsa" zu den Eigenschaften `jsch.server_host_key` + `jsch.client_pubkey` hinzufügen.
    * Global, indem Sie etwas Ähnliches wie `JSch.setConfig("server_host_key", JSch.getConfig("server_host_key") + ",ssh-rsa")` + `JSch.setConfig("PubkeyAcceptedAlgorithms", JSch.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa")` ausführen.
    * Pro Sitzung, indem Sie etwas Ähnliches wie `session.setConfig("server_host_key", session.getConfig("server_host_key") + ",ssh-rsa")` + `session.setConfig("PubkeyAcceptedAlgorithms", session.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa")` ausführen.
    * Fügen Sie "ssh-rsa" mit den Schlüsselwörtern "HostKeyAlgorithms" + "PubkeyAcceptedAlgorithms" zu Ihrer OpenSSH-Konfigurationsdatei hinzu und verwenden Sie anschließend die Klasse `OpenSSHConfig`.
### Ist dieser Fork 100% kompatibel mit dem ursprünglichen JSch, weil die Verbindung zu meinem Server nicht mehr funktioniert?
  * Aus Kompatibilitätsgründen mit OpenSSH und für verbesserte Sicherheit wurde die Reihenfolge der Krypto-Algorithmen geändert. Wenn Sie weiterhin ältere oder veraltete Algorithmen verwenden möchten, müssen Sie die Konfiguration ändern. Beispiele siehe [#37](https://github.com/mwiede/jsch/issues/37), [#40](https://github.com/mwiede/jsch/issues/40)
  * Um die Anpassung der Krypto-Algorithmen zu erleichtern, können ab [0.1.65](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.65) die folgenden Systemeigenschaften beim Start Ihrer Anwendung gesetzt werden:
    * `jsch.kex`
      * analog zu `JSch.setConfig("kex", "...")`
    * `jsch.server_host_key`
      * analog zu `JSch.setConfig("server_host_key", "...")`
    * `jsch.prefer_known_host_key_types`
      * analog zu `JSch.setConfig("prefer_known_host_key_types", "...")`
    * `jsch.enable_server_sig_algs`
      * analog zu `JSch.setConfig("enable_server_sig_algs", "...")`
    * `jsch.cipher`
      * analog zu `JSch.setConfig("cipher.s2c", "...")` + `JSch.setConfig("cipher.c2s", "...")`
    * `jsch.mac`
      * analog zu `JSch.setConfig("mac.s2c", "...")` + `JSch.setConfig("mac.c2s", "...")`
    * `jsch.compression`
      * analog zu `JSch.setConfig("compression.s2c", "...")` + `JSch.setConfig("compression.c2s", "...")`
    * `jsch.lang`
      * analog zu `JSch.setConfig("lang.s2c", "...")` + `JSch.setConfig("lang.c2s", "...")`
    * `jsch.dhgex_min`
      * analog zu `JSch.setConfig("dhgex_min", "...")`
    * `jsch.dhgex_max`
      * analog zu `JSch.setConfig("dhgex_max", "...")`
    * `jsch.dhgex_preferred`
      * analog zu `JSch.setConfig("dhgex_preferred", "...")`
    * `jsch.compression_level`
      * analog zu `JSch.setConfig("compression_level", "...")`
    * `jsch.preferred_authentications`
      * analog zu `JSch.setConfig("PreferredAuthentications", "...")`
    * `jsch.client_pubkey`
      * analog zu `JSch.setConfig("PubkeyAcceptedAlgorithms", "...")`
    * `jsch.check_ciphers`
      * analog zu `JSch.setConfig("CheckCiphers", "...")`
    * `jsch.check_macs`
      * analog zu `JSch.setConfig("CheckMacs", "...")`
    * `jsch.check_kexes`
      * analog zu `JSch.setConfig("CheckKexes", "...")`
    * `jsch.check_signatures`
      * analog zu `JSch.setConfig("CheckSignatures", "...")`
    * `jsch.fingerprint_hash`
      * analog zu `JSch.setConfig("FingerprintHash", "...")`
    * `jsch.max_auth_tries`
      * analog zu `JSch.setConfig("MaxAuthTries", "...")`

## Andere Projekte, die JSch verwenden

* Jsync https://github.com/fizzed/jsync - Bietet ein einfaches, effizientes, zuverlässiges und reines Java-rsync-ähnliches Werkzeug zur Datei- und
  Verzeichnissynchronisierung, das programmatisch verwendet werden kann.
* Blaze https://github.com/fizzed/blaze - Eine Möglichkeit, Java-Dateien als Skripte auszuführen, mit leistungsstarken SSH-, SFTP- und rsync-ähnlichen
  Funktionen direkt integriert.

## Änderungen seit dem Fork:
Siehe [ChangeLog.md](https://github.com/mwiede/jsch/blob/master/ChangeLog.md)
Tool herunterladen