Trilead SSH for Java

Trilead SSH for Java

Trilead SSH for Java is a freely available open-source library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It 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.

Trilead SSH for Java is being actively developed by Dr. Christian Plattner who is working now for Trilead. Dr. Plattner originally created the well-known Ganymed SSH-2 for Java library during his PhD studies, however, the work on the Ganymed code has been discontinued.

Please note that Trilead SSH for Java is completely backwards compatible to the Ganymed code.



Features

  • 100% Java implementation of the SSH-2 protocol (tested on J2SE 1.4.2 and 5.0)
  • No dependency on any JCE provider, all crypto functionality is included in the Trilead SSH for Java library.
  • Supports SSH sessions (remote command execution and shell access), X11 forwarding, local and remote port forwarding, local stream forwarding, SCP and SFTP.
  • Thread safe, multiple threads can concurrently execute commands, open shells etc. on the same SSH connection.
  • Available ciphers: aes256-ctr, aes192-ctr, aes128-ctr, blowfish-ctr, aes256-cbc, aes192-cbc, aes128-cbc, blowfish-cbc, 3des-ctr and 3des-cbc.
  • Supports DSA and RSA server keys (ssh-dss and ssh-rsa). Extensive support for known_hosts file handling.
  • Key exchange methods: diffie-hellman-group-exchange-sha1 (parameters configurable), diffie-hellman-group14-sha1 and diffie-hellman-group1-sha1.
  • Supported MAC algorithms: hmac-sha1-96, hmac-sha1, hmac-md5-96 and hmac-md5.
  • User authentication: password, keyboard-interactive and public-key with DSA and RSA keys (client-side private keys (PEM format) may also be 3DES, DES or AES encrypted).