Ganymed SSH2 for Java is a 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 and SCP. There are no dependencies on any JCE provider, as all crypto functionality is included.

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 Ganymed SSH2 for Java library.
  • Supports SSH sessions (remote command execution and shell access), X11 forwarding, local and remote port forwarding, local stream forwarding and SCP.
  • 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).

URL: http://www.ganymed.ethz.ch/ssh2/
Licence: BSD License