Can you recommend an open source Java Secure Shell library that provides Secure FTP services in a Java client application?
Yes - Jsch from www.jcraft.com is a pure Java implementation of SSH2 that offers a complete set of SSH, Service Control Point (SCP) and SFTP capabilities.
Jsch is distributed in source form, and requires the companion package Jzlib, also available from www.jcraft.com. Build scripts for Windows and Unix are included to compile the jsch.jar library.
Jsch uses a bundled copy of Ant for the build, so you could run into build errors if you already have Ant installed on your system. Temporarily removing that copy of Ant from the system path environment variable should solve any conflicts.
Several example programs show how to use the library to establish SSH terminal sessions, copy files to and from remote servers with SCP, and establish interactive SFTP sessions with remote servers. Also included are Java tools to generate authentication keys needed to establish SSH connections with remote servers.
While terminal emulation for interactive shell sessions is weak, the SFTP interface is robust and easily included in your Java clients.
Read more about software in Network World's Software section.