Package 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:
  `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
  Description
  `SSHBase()`
  Constructor for SSHBase.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addConfiguredAdditionalConfig(Environment.Variable v)`
  `boolean`
  `getFailonerror()`
  Get the failonerror flag.
  `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.
  `String`
  `getSshConfig()`
  Get the OpenSSH config file (~/.ssh/config).
  `protected SSHUserInfo`
  `getUserInfo()`
  Get the user information.
  `boolean`
  `getVerbose()`
  Get the verbose flag.
  `void`
  `init()`
  Initialize the task.
  `protected void`
  `loadSshConfig()`
  Load the SSH configuration file.
  `protected com.jcraft.jsch.Session`
  `openSession()`
  Open an ssh session.
  `void`
  `setFailonerror(boolean failure)`
  Set the failonerror flag.
  `void`
  `setHost(String host)`
  Remote host, either DNS name or IP.
  `void`
  `setKeyfile(String keyfile)`
  Sets the keyfile for the user.
  `void`
  `setKnownhosts(String knownHosts)`
  Sets the path to the file that has the identities of all known hosts.
  `void`
  `setPassphrase(String passphrase)`
  Sets the passphrase for the users key.
  `void`
  `setPassword(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`
  `setSshConfig(String sshConfig)`
  Set the OpenSSH config file (~/.ssh/config).
  `void`
  `setTrust(boolean yesOrNo)`
  Setting this to true trusts hosts whose identity is unknown.
  `void`
  `setUsername(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 Details

  - ### SSHBase

    public SSHBase()
    Constructor for SSHBase.

- ## Method Details

  - ### setHost

    public void setHost(String host)
    Remote host, either DNS name or IP.
    Parameters:
      `host` - The new host value

  - ### getHost

    public 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

  - ### getSshConfig

    public String getSshConfig()
    Get the OpenSSH config file (~/.ssh/config).
    Returns:
      the OpenSSH config file
    Since:
      Ant 1.10.8

  - ### setSshConfig

    public void setSshConfig(String sshConfig)
    Set the OpenSSH config file (~/.ssh/config).
    Parameters:
      `sshConfig` - the OpenSSH config file
    Since:
      Ant 1.10.8

  - ### 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(String username)
    Username known to remote host.
    Parameters:
      `username` - The new username value

  - ### setPassword

    public void setPassword(String password)
    Sets the password for the user.
    Parameters:
      `password` - The new password value

  - ### setKeyfile

    public void setKeyfile(String keyfile)
    Sets the keyfile for the user.
    Parameters:
      `keyfile` - The new keyfile value

  - ### setPassphrase

    public void setPassphrase(String passphrase)
    Sets the passphrase for the users key.
    Parameters:
      `passphrase` - The new passphrase value

  - ### setKnownhosts

    public void setKnownhosts(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

  - ### addConfiguredAdditionalConfig

    public void addConfiguredAdditionalConfig(Environment.Variable v)

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

  - ### loadSshConfig

    protected void loadSshConfig() throws BuildException
    Load the SSH configuration file.
    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