Apache SSHD is a 100% pure java library to support the SSH protocols on both the client and server side. This library can leverage Apache MINA, a scalable and high performance asynchronous IO library. SSHD does not really aim at being a replacement for the SSH client or SSH server from Unix operating systems, but rather provides support for Java based applications requiring SSH support.
supported- DRAFT 05 - section 4.4
supported2- DRAFT 13 section 5.4
versions- DRAFT 09 Section 4.6
vendor-id- DRAFT 09 - section 4.4
acl-supported- DRAFT 11 - section 5.4
newline- DRAFT 09 Section 4.3
md5-hash-handle- DRAFT 09 - section 9.1.1
check-file-name- DRAFT 09 - section 9.1.2
copy-data- DRAFT 00 - sections 6, 7
space-available- DRAFT 09 - section 9.3
eddsaoptional module), firstname.lastname@example.org, email@example.com , firstname.lastname@example.org, email@example.com, firstname.lastname@example.org , email@example.com, firstname.lastname@example.org, email@example.com
Java 8+ (as of version 1.3)
The code only requires the core abstract slf4j-api module. The actual implementation of the logging API can be selected from the many existing adaptors.
sshd-common - contains basic classes used throughout the project as well as code that does not require client or server network support.
sshd-core - contains the basic SSH client/server code implementing the connection, transport, channels, forwarding, etc..
sshd-sftp - contains the server side SFTP subsystem and the SFTP client code.
sshd-scp - contains the server side SCP command handler and the SCP client code.
sshd-ldap - contains server-side password and public key authenticators that use and LDAP server.
sshd-git - contains replacements for JGit SSH session factory.
sshd-osgi - contains an artifact that combines sshd-common and sshd-core so it can be deployed in OSGi environments.
sshd-putty - contains code that can parse PUTTY key files.
sshd-openpgp - contains code that can parse OpenPGP key files (with some limitations - see relevant section)
sshd-cli - contains simple templates for command-line client/server - used to provide look-and-feel similar to the Linux ssh/sshd commands.
sshd-contrib - experimental code that is currently under review and may find its way into one of the other artifacts (or become an entirely new artifact - e.g., sshd-putty evolved this way).