My favorites | Sign in
Project Logo
                
Code license: Apache License 2.0
Labels: java, ssh, scp, jcsh, facade
People details
Project owners:
  jasonwhaley

Basically, there's only one pure java library that's typically used for ssh tasks, jsch. However, the api for scp transfers in jsch requires a bit of work messing with the input and output streams and working with the ssh protocol. Clients just want to make a couple of method calls. So I wrote this facade for easy scp'ing and am extending it to support other ssh utilities.

As a basis of comparison, here's the example file jsch provides: http://www.jcraft.com/jsch/examples/ScpTo.java

This code basically wraps that behavior behind a simple interface. Compare the code you'd have to write in the link above to the snippet below.

    String host = "foo.bar.com";
    String username = "joe";
    String password = "password"; 
    String remotePath = "foo.txt";
    
    SshConnection ssh = null;
    
    try
    {
      ssh = new SshConnection(host,username,password);
      ssh.connect();
      ScpFile scpFile = new ScpFile(new File("/tmp/foo.txt"),remotePath));      
      ssh.executeTask(new ScpUpload(scpFile));
    }
    catch (SshException e)
    {
      e.printStackTrace();
    }
    finally
    {
      if (ssh != null)
      {
        ssh.disconnect();
      }
    }

Dependencies:

jsch - 0.1.38








Hosted by Google Code