## org.apache.tools.ant.taskdefs.optional.ssh
Class SSHSession

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
                  org.apache.tools.ant.taskdefs.optional.ssh.SSHSession

All Implemented Interfaces:
  java.lang.Cloneable, LogListener

    public class SSHSession

extends SSHBase

Establishes an ssh session with a remote machine, optionally establishing port forwarding, then executes any nested task(s) before closing the session.

Since:
  Ant 1.8.0

Nested Class Summary
`class` `SSHSession.LocalTunnel`
`static class` `SSHSession.NestedSequential` The class corresponding to the sequential nested element.
`class` `SSHSession.RemoteTunnel`

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`SSHSession()`

Method Summary
`void` `addTask(Task nestedTask)` Add a nested task to Sequential.
`SSHSession.LocalTunnel` `createLocalTunnel()`
`SSHSession.RemoteTunnel` `createRemoteTunnel()`
`SSHSession.NestedSequential` `createSequential()` This is the sequential nested element of the macrodef.
`void` `execute()` Establish the ssh session and execute all nestedTasks
`void` `setLocaltunnels(java.lang.String tunnels)` Changes the comma-delimited list of local tunnels to establish on the connection.
`void` `setRemotetunnels(java.lang.String tunnels)` Changes the comma-delimited list of remote tunnels to establish on the connection.
`void` `setTimeout(long timeout)` The connection can be dropped after a specified number of milliseconds.

Methods inherited from class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
`getFailonerror, getHost, getPort, getUserInfo, getVerbose, init, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setTrust, setUsername, setVerbose`

Methods inherited from class org.apache.tools.ant.Task
`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.tools.ant.taskdefs.optional.ssh.LogListener
`log`

Constructor Detail

### SSHSession

    public SSHSession()

Method Detail

### addTask

    public void addTask(Task nestedTask)

  Add a nested task to Sequential.

  Parameters:
    `nestedTask` - Nested task to execute Sequential

### setTimeout

    public void setTimeout(long timeout)

  The connection can be dropped after a specified number of milliseconds. This is sometimes useful when a connection may be flaky. Default is 0, which means "wait forever".

  Parameters:
    `timeout` - The new timeout value in seconds

### setLocaltunnels

    public void setLocaltunnels(java.lang.String tunnels)

  Changes the comma-delimited list of local tunnels to establish on the connection.

  Parameters:
    `tunnels` - a comma-delimited list of lport:rhost:rport tunnel specifications

### setRemotetunnels

    public void setRemotetunnels(java.lang.String tunnels)

  Changes the comma-delimited list of remote tunnels to establish on the connection.

  Parameters:
    `tunnels` - a comma-delimited list of rport:lhost:lport tunnel specifications

### execute

    public void execute()
                 throws BuildException

  Establish the ssh session and execute all nestedTasks

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if one of the nested tasks fails, or network error or bad parameter.

### createLocalTunnel

    public SSHSession.LocalTunnel createLocalTunnel()

### createRemoteTunnel

    public SSHSession.RemoteTunnel createRemoteTunnel()

### createSequential

    public SSHSession.NestedSequential createSequential()

  This is the sequential nested element of the macrodef.

  Returns:
    a sequential element to be configured.