All Projects → mwiede → jsch

mwiede / jsch

Licence: other
fork of the popular jsch library

Programming Languages

java
68154 projects - #9 most used programming language
scala
5932 projects
shell
77523 projects

Projects that are alternatives of or similar to jsch

Sidedoor
SSH connection daemon for Debian/Raspbian/Ubuntu/etc
Stars: ✭ 97 (-23.62%)
Mutual labels:  ssh, ssh-client, openssh
Sshj
ssh, scp and sftp for java
Stars: ✭ 2,016 (+1487.4%)
Mutual labels:  ssh, ssh-client
shim
The Userify Shim (cloud agent)
Stars: ✭ 57 (-55.12%)
Mutual labels:  ssh, openssh
Github Keygen
Easy creation of secure SSH configuration for your GitHub account(s)
Stars: ✭ 183 (+44.09%)
Mutual labels:  ssh, ssh-client
Corkscrew
Corkscrew is a tool for tunneling SSH through HTTP proxies.
Stars: ✭ 149 (+17.32%)
Mutual labels:  ssh, openssh
Sshfs Gui
SSHFS GUI Wrapper for Mac OS X
Stars: ✭ 154 (+21.26%)
Mutual labels:  ssh, ssh-client
Ssh2 Python
Bindings for libssh2 C library.
Stars: ✭ 166 (+30.71%)
Mutual labels:  ssh, ssh-client
Xxh
🚀 Bring your favorite shell wherever you go through the ssh.
Stars: ✭ 2,559 (+1914.96%)
Mutual labels:  ssh, openssh
Easyssh
The SSH connection manager to make your life easier.
Stars: ✭ 207 (+62.99%)
Mutual labels:  ssh, ssh-client
Jcabi Ssh
Java SSH client
Stars: ✭ 240 (+88.98%)
Mutual labels:  ssh, ssh-client
Bastillion
Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys.
Stars: ✭ 2,730 (+2049.61%)
Mutual labels:  ssh, ssh-client
Wolfssh
wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.
Stars: ✭ 142 (+11.81%)
Mutual labels:  ssh, ssh-client
Connectbot
ConnectBot is the first SSH client for Android.
Stars: ✭ 1,763 (+1288.19%)
Mutual labels:  ssh, ssh-client
piping-ssh-web
SSH over HTTPS via Piping Server on Web browser
Stars: ✭ 60 (-52.76%)
Mutual labels:  ssh, ssh-client
Awesome Ssh
💻 A curated list of SSH resources.
Stars: ✭ 1,742 (+1271.65%)
Mutual labels:  ssh, openssh
Ansible Sshd
Ansible role to configure the OpenSSH server daemon
Stars: ✭ 163 (+28.35%)
Mutual labels:  ssh, openssh
girltalk
A tool for helping stand up headless C2 for droppables.
Stars: ✭ 16 (-87.4%)
Mutual labels:  ssh, openssh
Ssh
Native SSH client in R based on libssh
Stars: ✭ 111 (-12.6%)
Mutual labels:  ssh, ssh-client
Superputty
The SuperPuTTY Window Manager for putty sessions
Stars: ✭ 1,572 (+1137.8%)
Mutual labels:  ssh, ssh-client
Curse
CURSE is an SSH certificate signing server, built as an alternative to Netflix's BLESS tool, but without a dependency on AWS.
Stars: ✭ 200 (+57.48%)
Mutual labels:  ssh, openssh

Fork of JSch-0.1.55

See original README

GitHub release Maven Central Java CI with Maven Coverage Bugs Maintainability Rating Reliability Rating

Why should you use this library?

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

  • OpenSSH has disabled ssh-rsa in release 8.8 per default and you need a library which supports rsa-sha2-256 and rsa-sha2-512.
  • Drop in replacement: just change dependency coordinates and you are good to go.
  • No active maintenance of JSch at SourceForge.
  • Stay in sync with OpenJDK features so there is no need for additional dependencies.

FAQ

  • Is this fork 100% compatible with original JSch, because the connection to my server does not work any more!
    • For compatibility with OpenSSH and improved security, the order of crypto algorithms was changed. If you still want to use older or deprecated algorithms, you need to change the configuration. Examples see #37, #40
    • To make it easier to adjust the crypto algorithms, starting with 0.1.65 the following system properties can be set at your application's startup:
      • jsch.kex
        • analogous to JSch.setConfig("kex", "...")
      • jsch.server_host_key
        • analogous to JSch.setConfig("server_host_key", "...")
      • jsch.prefer_known_host_key_types
        • analogous to JSch.setConfig("prefer_known_host_key_types", "...")
      • jsch.enable_server_sig_algs
        • analogous to JSch.setConfig("enable_server_sig_algs", "...")
      • jsch.cipher
        • analogous to JSch.setConfig("cipher.s2c", "...") + JSch.setConfig("cipher.c2s", "...")
      • jsch.mac
        • analogous to JSch.setConfig("mac.s2c", "...") + JSch.setConfig("mac.c2s", "...")
      • jsch.compression
        • analogous to JSch.setConfig("compression.s2c", "...") + JSch.setConfig("compression.c2s", "...")
      • jsch.lang
        • analogous to JSch.setConfig("lang.s2c", "...") + JSch.setConfig("lang.c2s", "...")
      • jsch.dhgex_min
        • analogous to JSch.setConfig("dhgex_min", "...")
      • jsch.dhgex_max
        • analogous to JSch.setConfig("dhgex_max", "...")
      • jsch.dhgex_preferred
        • analogous to JSch.setConfig("dhgex_preferred", "...")
      • jsch.compression_level
        • analogous to JSch.setConfig("compression_level", "...")
      • jsch.preferred_authentications
        • analogous to JSch.setConfig("PreferredAuthentications", "...")
      • jsch.client_pubkey
        • analogous to JSch.setConfig("PubkeyAcceptedAlgorithms", "...")
      • jsch.check_ciphers
        • analogous to JSch.setConfig("CheckCiphers", "...")
      • jsch.check_macs
        • analogous to JSch.setConfig("CheckMacs", "...")
      • jsch.check_kexes
        • analogous to JSch.setConfig("CheckKexes", "...")
      • jsch.check_signatures
        • analogous to JSch.setConfig("CheckSignatures", "...")
      • jsch.fingerprint_hash
        • analogous to JSch.setConfig("FingerprintHash", "...")
      • jsch.max_auth_tries
        • analogous to JSch.setConfig("MaxAuthTries", "...")
  • Are ssh-ed25519, ssh-ed448, curve25519-sha256, curve448-sha512 & [email protected] supported?
    • This library is a Multi-Release-jar, which means that you can only use certain features when a more recent Java version is used.
      • In order to use ssh-ed25519 & ssh-ed448, you must use at least Java 15 or add Bouncy Castle (bcprov-jdk15on) to the classpath.
      • In order to use curve25519-sha256 & curve448-sha512, you must use at least Java 11 or add Bouncy Castle (bcprov-jdk15on) to the classpath.
      • In order to use [email protected], you must add Bouncy Castle (bcprov-jdk15on) to the classpath.
    • As of the 0.1.66 release, these algorithms can now be used with older Java releases if Bouncy Castle (bcprov-jdk15on) is added to the classpath.
  • Why do ssh-rsa type keys not work with this JSch fork and my server?
    • As of the 0.2.0 release, the RSA/SHA1 signature algorithm is disabled by default.
      • SHA1 is no longer considered secure by the general cryptographic community and this JSch fork strives to maintain secure choices for default algorithms that it will utilize.
      • This also follows the lead of the OpenSSH project in which they disabled RSA/SHA1 signatures by default as of OpenSSH release 8.8.
    • ssh-rsa type keys continue to function by default with the RSA/SHA256 (rsa-sha2-256) & RSA/SHA512 (rsa-sha2-512) signature algorithms defined by RFC 8332.
    • If your server only supports RSA/SHA1 signatures and you require their use in your application, then you will need to manually reenable them by one of the following means (also see wiki page Jsch-Configuration):
      • Globally by adding "ssh-rsa" to the jsch.server_host_key + jsch.client_pubkey properties.
      • Globally by executing something similar to JSch.setConfig("server_host_key", JSch.getConfig("server_host_key") + ",ssh-rsa") + JSch.setConfig("PubkeyAcceptedAlgorithms", JSch.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa").
      • On a per-session basis by executing something similar to session.setConfig("server_host_key", session.getConfig("server_host_key") + ",ssh-rsa") + session.setConfig("PubkeyAcceptedAlgorithms", session.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa").
      • Adding "ssh-rsa" to your OpenSSH type config file with the "HostKeyAlgorithms" + "PubkeyAcceptedAlgorithms" keywords & then utilizing the OpenSSHConfig class.

Changes since fork:

See ChangeLog.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].