Ganymed SSH-2: Java based SSH-2 Protocol Implementation
The Ganymed SSH-2 library 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.
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).
Originally, Ganymed SSH-2 for Java was developed by Dr. Christian Plattner for the Ganymed replication project at ETH Zurich, Switzerland, back in 2005. In the meantime, its clearly structured code has been ported by different people to other languages as well. Confusingly, there are also Java branches with slightly different names. However, Ganymed SSH-2 for Java is the original implementation with a stable interface that is backwards compatible to the first implementation written in 2005 (!).