OpenSSH-Java Library

Copyright ©2002, Brett Porter < brettporter@yahoo.com>
Project Homepage: http://sf.net/projects/quietcoffee
SourceForge Logo

Description

This is an attempt at a comprehensive, open source implementation of OpenSSH for the Java platform. It includes both the SSH1 and SSH2 protocols, and supports a number of different cryptographic algorithms, based on the Sun JCE Java extensions.

Justification

Few free Java SSH implementations. Those that do exist are under GPL, and often slow. Want a OpenBSD-license implementation to be compatible with the Apache project. In particular would like to implement a fast SSH and SCP task for Jakarta Ant.

Implementation

The implementation at this point is simply being built from OpenSSH-3.1p1 sources from the Cygwin distribution. The goal here is to keep as close as possible to the original implementation so that changes and bugfixes in that codebase can easily be ported to the Java implementation. At the same time, small amounts of refactoring is done to give it a cleaner OO structure and to avoid reimplementing classes already available for Java (ie by using java.math.BigInteger, java.security.* and the javax.crypto.* packages to eliminate the OpenSSL dependencies).

System Requirements

Development Timeline

The current development timeline is:
This timeline is based largely on my available time which can be dramatically reduced at times, and the availability of other contributors.

Contributing

I'd love to collaborate on this, so if you are interested get in touch. I'm keeping CVS local until 0.5 alpha, however if there is anyone seriously interested in helping out I will make it available immediately and add them as a project developer.

SSH Server

At this point there is no plan to implement sshd, the SSH server. If requested, a threaded server could be implemented, however this obviously doesn't provide the same facilities as a native executable can, and there are already good implementations for at least as many platforms as those that run Java.

Contact

I'm available to be contacted at any time at brettporter@yahoo.com. I'd especially like to hear from potential users, or contributors.

Links

Here are some useful SSH links: