JSSH: A Java Secure Shell client library

Quick Info
Operating System: Linux
Language: Java, C
Licence: GNU
Author: Rob Pitman
JSSH is a library of Java classes that implement the Secure Shell (SSH) version 1.5 client protocol. It is designed as a reusable component that can be embedded in larger Java applications to provide SSH client functionality.

The library is intended for use in Java applications, not applets (it needs to access the local filesystem to check whether the server's host key is in the known_hosts file, and it also needs to access the /dev/random device to obtain random numbers for the session key). The library was written in pure Java, in the sense that it does not require an accompanying JNI native library.

The JSSH library is derived from Cedric Gourio's "java-ssh":


The object model has been redesigned from scratch so that (IMHO) it is more object-oriented and understandable, and I have added port-forwarding and data-compression functionality, as well as RSA client authentication (the original version supported username-password authentication only).

JSSH also uses some GPL-licensed cryptographic code from "The Java Telnet Applet", which can be found at:


Last updated: 2 August, 2005