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:
Cloneable, LogListener
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
Nested ClassesModifier and TypeClassDescriptionclassstatic classThe class corresponding to the sequential nested element.class -
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a nested task to Sequential.This is the sequential nested element of the macrodef.voidexecute()Establish the ssh session and execute all nestedTasksvoidsetLocaltunnels(String tunnels) Changes the comma-delimited list of local tunnels to establish on the connection.voidsetRemotetunnels(String tunnels) Changes the comma-delimited list of remote tunnels to establish on the connection.voidsetTimeout(long timeout) The connection can be dropped after a specified number of milliseconds.Methods inherited from class SSHBase
addConfiguredAdditionalConfig, getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, init, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, setTrust, setUsername, setVerboseModifier and TypeMethodDescriptionvoidbooleanGet the failonerror flag.getHost()Get the host.intgetPort()Get the port attribute.intGet the serverAliveCountMax value.intGet the serverAliveIntervalSeconds value in seconds.Get the OpenSSH config file (~/.ssh/config).protected SSHUserInfoGet the user information.booleanGet the verbose flag.voidinit()Initialize the task.protected voidLoad the SSH configuration file.protected com.jcraft.jsch.SessionOpen an ssh session.voidsetFailonerror(boolean failure) Set the failonerror flag.voidRemote host, either DNS name or IP.voidsetKeyfile(String keyfile) Sets the keyfile for the user.voidsetKnownhosts(String knownHosts) Sets the path to the file that has the identities of all known hosts.voidsetPassphrase(String passphrase) Sets the passphrase for the users key.voidsetPassword(String password) Sets the password for the user.voidsetPort(int port) Changes the port used to connect to the remote host.voidsetServerAliveCountMax(int countMax) Set the serverAliveCountMax value.voidsetServerAliveIntervalSeconds(int interval) Set the serverAliveIntervalSeconds value in seconds.voidsetSshConfig(String sshConfig) Set the OpenSSH config file (~/.ssh/config).voidsetTrust(boolean yesOrNo) Setting this to true trusts hosts whose identity is unknown.voidsetUsername(String username) Username known to remote host.voidsetVerbose(boolean verbose) Set the verbose flag.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface LogListener
log
-
Constructor Details
-
SSHSession
public SSHSession()
-
-
Method Details
-
addTask
Add a nested task to Sequential.- Parameters:
nestedTask- Nested task to execute sequentially
-
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
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
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
Establish the ssh session and execute all nestedTasks- Overrides:
executein classTask- Throws:
BuildException- if one of the nested tasks fails, or network error or bad parameter.
-
createLocalTunnel
-
createRemoteTunnel
-
createSequential
This is the sequential nested element of the macrodef.- Returns:
- a sequential element to be configured.
-