Ganymed SSH-2 for Java

Ganymed SSH-2 for Java is an open source library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding, SCP and SFTP. There are no dependencies on any JCE provider, as all crypto functionality is included.

Originally, Ganymed SSH-2 for Java was developed for the Ganymed replication project at ETH Zurich (Switzerland).

Ganymed SSH-2 for Java is the de-facto standard for open source based SSH communication in Java software. The library is used in many industrial products but also in open source software, e.g., in the widely used SVN plugin for Eclipse and in Cyberduck (a popular SFTP client for the Mac).

Latest Release

  • 2010-08-23 build 251 beta1 (including jar, examples, source and javadoc):
    ganymed-ssh2-build251beta1.zip
    (600KB, MD5: 36ba8c008a553d34408fd309c139604c)

Support

Ganymed SSH-2 for Java features Javadoc documentation in outstanding quality as well as a FAQ and example code that covers most features of the software. The source code is clearly structured and emphasizes on clarity and thread safety. The protocol architecture implemented by the library is documentated in RFC 4251.

Please read the documentation carefully.

If you still need support, then please consider buying a support ticket and provide us with the following information:

  • Complete problem description.
  • Java JRE/JDK version and platform that you are using.
  • The version of Ganymed SSH-2 that you are using.
  • A self-contained, runnable code snippet that describes the issue.
  • If applicable, the version of the SSH server that you are connecting to (server greeting, i.e, output of "telnet server 22").

Please note that without the above information we are unable provide any kind of support. Complete support requests can be sent by email to ganymed-support@cleondris.ch.

FAQ and Documentation

  • The updated FAQ can be found here.
  • The online Javadoc documentation covers all the functionality found in Ganymed SSH-2 for Java.
    Hint: to start with, read the documentation for the Connection class, then dig deeper.

License

The Ganymed SSH-2 for Java library is released under a BSD style license. The Java implementations of the AES, Blowfish and 3DES ciphers have been taken (and slightly modified) from the cryptography package released by The Legion Of The Bouncy Castle.

For details, please see the included LICENSE.txt file.

Older Releases

  • 2010-03-15 build 250 (including jar, examples, source and javadoc):
    ganymed-ssh2-build250.zip
    (592KB, MD5: 1be4668fbdb2a3fa98dd16210fa079d2)
  • 2006-10-06: build 210 (including jar, examples, source and javadoc):
    ganymed-ssh2-build210.zip
    (588KB, MD5: abd0fb2acbfb5885e1ae3af8f1f6b31e)
  • 2006-02-14: build 209 (including jar, examples, source and javadoc):
    ganymed-ssh2-build209.zip
    (476KB, MD5: 56db105c170c2d6b8b13a33d58378486)
  • 2005-08-24: build 208 (including jar, examples, source and javadoc):
    ganymed-ssh2-build208.zip
    (413KB, MD5: ae771443ab1925bcd3f25de5f952792e)
  • 2005-07-21: build 207 (including jar, examples, source and javadoc):
    ganymed-ssh2-build207.zip
    (365KB, MD5: c8c4a36af6a48d9d33d0c32803896057)
  • 2005-07-04: build 206 (including jar, examples, source and javadoc):
    ganymed-ssh2-build206.zip
    (338KB, MD5: 5d7365a3702dc1023c4b40720b0f3348)
  • 2005-06-27: build 205 (including jar, examples, source and javadoc):
    ganymed-ssh2-build205.zip
    (331KB, MD5: 74cf6b15f7cf9d7bce1909277a633548)

Trademarks

SSH is a registered trademark of SSH Communications Security Corp in the United States and in certain other jurisdictions. Java and J2ME are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other names and marks are property of their respective owners.

News

August, 2010: the latest version of Ganymed SSH-2 for Java has been released.

July, 2010: incident based support for Ganymed SSH-2 for Java available.

February, 2010: Cleondris (AS47908) has established an IPv4 and IPv6 peering presence at SwissIX.