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).
Ganymed SSH-2 for Java is hosted on Google Code, where you can also find the latest release for download.
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 and the supplied example code carefully. Note that Ganymed SSH-2 for Java is open source software provided to you "AS-IS". Cleondris does not offer any kind of support for Ganymed SSH-2 for Java. Please use the bug tracker at the Google Code site for any issues.
The 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.
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.