JSch 0.1.30 review

by rbytes.net on

JSch is a pure Java implementation of SSH2. JSch project allows the user to connect to an sshd server and use port forwarding, X11

License: BSD License
File size: 0K
Developer: JCraft, Inc.
0 stars award from rbytes.net

JSch is a pure Java implementation of SSH2.

JSch project allows the user to connect to an sshd server and use port forwarding, X11 forwarding, file transfer, etc., and you can integrate its functionality into your own Java programs. JSch is licensed under BSD style license.

Our intension in developing this stuff is to enable users of our pure java X servers, WiredX and WeirdX, to enjoy secure X sessions. Our efforts have mostly targeted the SSH2 protocol in relation to X window system and X11 forwarding. Of course, we are also interested in adding other functionality - port forward, file transfer, terminal emulation, etc.

Needless to say, SSH provides support for secure remote login, secure file transfer, and secure TCP/IP and X11 forwarding. It can automatically encrypt, authenticate, and compress transmitted data.

The SSH protocol is available in two incompatible varieties: SSH1 and SSH2. SSH2 was invented to avoid the patent issues regarding RSA (RSA patent has expired), and to fix some data integrity problem that SSH1 has, and for a number of other technical reasons.

SSH2 protocol has been standardized on IETF Secure Shell working group and drafts related to SSH2 protocol are available on the web. In developing JSch, we are now referring to following documents:

SSH Protocol Architecture
SSH Transport Layer Protocol
Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol
SSH Connection Protocol
SSH Authentication Protocol

Here are some key features of "JSch":
JSch is in pure Java, but it depends on JavaTM Cryptography Extension (JCE). JSch is know to work with:
J2SE 1.4.0 or later (no additional libraries required).
J2SE 1.3 and Sun's JCE reference implementation that can be obtained at http://java.sun.com/products/jce/.
J2SE 1.2.2 and later and Bouncycastle's JCE implementation that can be obtained at http://www.bouncycastle.org/.
SSH2 protocol support.
Key exchange: diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1
Cipher: blowfish-cbc, 3des-cbc, aes128-cbc,aes192-cbc,aes256-cbcnew!
MAC: hmac-md5, hmac-sha1, hmac-md5-96, hmac-sha1-96
Host key type: ssh-dss,ssh-rsa
Userauth: password
Userauth: publickey(DSA,RSA)
Userauth: keyboard-interactive
X11 forwarding
xauth spoofing
connection through HTTP proxy.
connection through SOCKS5 proxy.
port forwarding.
stream forwarding.
signal sending. The unofficial patch for sshd of openssh will be found in this thread.
remote exec.
generating DSA and RSA key pairs.
changing the passphrase for a private key.
partial authentication
SSH File Transfer Protocol(version 0, 1, 2, 3)
packet compression. JZlib has been used.
JSch is licensed under BSD style license.

JSch 0.1.30 search tags