Java SSH Client

With nearly a decade of production use, the Maverick Legacy Client has long been the definitive solution for total SSH compatibility on the Java™ platform. Today our Java SSH API is used by many clients from all walks of industry, these include defence contractors and other high-technology vendors specialising in VPN software and Internet hardware.

Maverick Legacy Client is a Java library that enables software developers to utilise the Secure Shell (SSH), Secure Copy (SCP) and Secure File Transfer (SFTP) protocols within their own Java applications.

This library provides the ability to integrate an SSH client into your own application, allowing outgoing connections to be made to SSH servers so that files can be transferred, commands executed or ports forwarded for other networking applications. If you want to build your own SSH server you should consider our Maverick SSHD product.

Designed as a successor to J2SSH, a popular open source Java SSH library, and written by the same author, Maverick Legacy Client was built from the ground up to provide the highest possible performance and to add support for the SSH1 protocol. The API now has a mature and stable code-base and has been integrated into many mission critical systems at countless Fortune 500 companies.

Maverick Legacy Client is our client implementation of the SSH protocol. If you require our server implementation click here.

Maverick Legacy Client is a cross platform 100% Java™ based API.

Protocols: SSH1
Authentication: Password
Public key
Keyboard Interactive authentication
Ciphers: 3DES
Stateful decryption counter mode cipher for AES, 3DES
HMacs: SHA1
Support for Encrypt-then-Mac
Key Exchange: diffie-hellman-group-exchange-sha1
Public Keys: RSA
File Transfer: SFTP v6
SSH Features: Port forwarding
X forwarding
Public key subsystem
Dynamic SOCKS forwarding
Proxies: HTTP

1. Download the API or use Maven Repository and Dependencies:



2. Register for an evaluation license.

3. Start coding...

SshConnector con = SshConnector.createInstance();
SshClient ssh = con.connect("", 22, "demo");
PasswordAuthentication pwd = new PasswordAuthentication();

J2SSH Maverick has, until recently, only been available under a commerical licensing agreement. With the release of our 1.6.x branch and in honour of the 10th anniversary of J2SSH Maverick's first commercial release, we have released our legacy 1.4.x branch under the GPL for use in open source applications.

We now have the following license options:

GPLv3 License (without support)

We have released our base SSH2 implementation under a copy left open source license (GPLv3). The use of this license mandates that you must also license any code you create under the same licensing agreement.

Commerial License (with support)

We continue to license our full product stack under a commercial license with unlimited email support and regular product updates. These licenses include support for both SSH1 and SSH2 protocols along with additional utilities not available in the open source edition.

Plans and Pricing

The API is now under Long Term Support (LTS) and will continue to be commercially supported until at least January 2018. There are 2 separate branches of the software:


This is branch is available to both commercial customers and open source users. It will continue to receive security updates and bug fixes until at least January 2018.


This is our commercial only branch and will receive new features, security updates and bug fixes until at least January 2018. We recommend all existing customers upgrade to this version at the earliest oppurtunity.

How can I get support?

Our developers provide direct support to our customers so to ensure everyone receives the best response possible, support is strictly provided through email only.

Before raising a support issue, please first visit our Helpdesk for up-to-date product documentation, known issues and FAQs.

If you then require further assistance, please email our team to create a support ticket.

I've forgotten my password