SSHBase (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.taskdefs.optional.ssh

## Class SSHBase

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

- All Implemented Interfaces:
    java.lang.Cloneable, LogListener
  Direct Known Subclasses:
    Scp, SSHExec, SSHSession

      public abstract class SSHBase
      extends Task
      implements LogListener

  Base class for Ant tasks using jsch.
  Since:
    Ant 1.6

- - ### 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

    Constructors
    Constructor and Description
    `SSHBase()` Constructor for SSHBase.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `getFailonerror()` Get the failonerror flag.
    `java.lang.String` | `getHost()` Get the host.
    `int` | `getPort()` Get the port attribute.
    `int` | `getServerAliveCountMax()` Get the serverAliveCountMax value.
    `int` | `getServerAliveIntervalSeconds()` Get the serverAliveIntervalSeconds value in seconds.
    `protected SSHUserInfo` | `getUserInfo()` Get the user information.
    `boolean` | `getVerbose()` Get the verbose flag.
    `void` | `init()` Initialize the task.
    `protected com.jcraft.jsch.Session` | `openSession()` Open an ssh session.
    `void` | `setFailonerror(boolean failure)` Set the failonerror flag.
    `void` | `setHost(java.lang.String host)` Remote host, either DNS name or IP.
    `void` | `setKeyfile(java.lang.String keyfile)` Sets the keyfile for the user.
    `void` | `setKnownhosts(java.lang.String knownHosts)` Sets the path to the file that has the identities of all known hosts.
    `void` | `setPassphrase(java.lang.String passphrase)` Sets the passphrase for the users key.
    `void` | `setPassword(java.lang.String password)` Sets the password for the user.
    `void` | `setPort(int port)` Changes the port used to connect to the remote host.
    `void` | `setServerAliveCountMax(int countMax)` Set the serverAliveCountMax value.
    `void` | `setServerAliveIntervalSeconds(int interval)` Set the serverAliveIntervalSeconds value in seconds.
    `void` | `setTrust(boolean yesOrNo)` Setting this to true trusts hosts whose identity is unknown.
    `void` | `setUsername(java.lang.String username)` Username known to remote host.
    `void` | `setVerbose(boolean verbose)` Set the verbose flag.

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, execute, 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

    - #### SSHBase

          public SSHBase()

      Constructor for SSHBase.

  - ### Method Detail

    - #### setHost

          public void setHost(java.lang.String host)

      Remote host, either DNS name or IP.
      Parameters:
        `host` - The new host value

    - #### getHost

          public java.lang.String getHost()

      Get the host.
      Returns:
        the host

    - #### setFailonerror

          public void setFailonerror(boolean failure)

      Set the failonerror flag. Default is true
      Parameters:
        `failure` - if true throw a build exception when a failure occurs, otherwise just log the failure and continue

    - #### getFailonerror

          public boolean getFailonerror()

      Get the failonerror flag.
      Returns:
        the failonerror flag

    - #### setVerbose

          public void setVerbose(boolean verbose)

      Set the verbose flag.
      Parameters:
        `verbose` - if true output more verbose logging
      Since:
        Ant 1.6.2

    - #### getVerbose

          public boolean getVerbose()

      Get the verbose flag.
      Returns:
        the verbose flag
      Since:
        Ant 1.6.2

    - #### setServerAliveCountMax

          public void setServerAliveCountMax(int countMax)

      Set the serverAliveCountMax value.
      Parameters:
        `countMax` - int
      Since:
        Ant 1.9.7

    - #### getServerAliveCountMax

          public int getServerAliveCountMax()

      Get the serverAliveCountMax value.
      Returns:
        the serverAliveCountMax value
      Since:
        Ant 1.9.7

    - #### setServerAliveIntervalSeconds

          public void setServerAliveIntervalSeconds(int interval)

      Set the serverAliveIntervalSeconds value in seconds.
      Parameters:
        `interval` - int
      Since:
        Ant 1.9.7

    - #### getServerAliveIntervalSeconds

          public int getServerAliveIntervalSeconds()

      Get the serverAliveIntervalSeconds value in seconds.
      Returns:
        the serverAliveIntervalSeconds value in seconds
      Since:
        Ant 1.9.7

    - #### setUsername

          public void setUsername(java.lang.String username)

      Username known to remote host.
      Parameters:
        `username` - The new username value

    - #### setPassword

          public void setPassword(java.lang.String password)

      Sets the password for the user.
      Parameters:
        `password` - The new password value

    - #### setKeyfile

          public void setKeyfile(java.lang.String keyfile)

      Sets the keyfile for the user.
      Parameters:
        `keyfile` - The new keyfile value

    - #### setPassphrase

          public void setPassphrase(java.lang.String passphrase)

      Sets the passphrase for the users key.
      Parameters:
        `passphrase` - The new passphrase value

    - #### setKnownhosts

          public void setKnownhosts(java.lang.String knownHosts)

      Sets the path to the file that has the identities of all known hosts. This is used by SSH protocol to validate the identity of the host. The default is ${user.home}/.ssh/known_hosts.
      Parameters:
        `knownHosts` - a path to the known hosts file.

    - #### setTrust

          public void setTrust(boolean yesOrNo)

      Setting this to true trusts hosts whose identity is unknown.
      Parameters:
        `yesOrNo` - if true trust the identity of unknown hosts.

    - #### setPort

          public void setPort(int port)

      Changes the port used to connect to the remote host.
      Parameters:
        `port` - port number of remote host.

    - #### getPort

          public int getPort()

      Get the port attribute.
      Returns:
        the port

    - #### init

          public void init()
                    throws BuildException

      Initialize the task. This initializes the known hosts and sets the default port.
      Overrides:
        `init` in class `Task`
      Throws:
        `BuildException` - on error

    - #### openSession

          protected com.jcraft.jsch.Session openSession()
                                                 throws com.jcraft.jsch.JSchException

      Open an ssh session.
      Returns:
        the opened session
      Throws:
        `com.jcraft.jsch.JSchException` - on error

    - #### getUserInfo

          protected SSHUserInfo getUserInfo()

      Get the user information.
      Returns:
        the user information