since Ant 1.6
Runs a command on a remote machine running SSH daemon.
Note: This task depends on external libraries not included in the Ant distribution. See Library Dependencies for more information. This task has been tested with jsch-0.1.29 and above and won't work with versions of jsch earlier than 0.1.28.
See also the scp task
| Attribute | Description | Required | 
| host | The hostname or IP address of the remote host to which you wish to connect. | Yes | 
| username | The username on the remote host to which you are connecting. | Yes | 
| command | The command to run on the remote host. | Yes | 
| port | The port to connect to on the remote host. | No, defaults to 22. | 
| trust | This trusts all unknown hosts if set to yes/true. Note If you set this to false (the default), the host you connect to must be listed in your knownhosts file, this also implies that the file exists. | No, defaults to No. | 
| knownhosts | This sets the known hosts file to use to validate the identity of the remote host. This must be a SSH2 format file. SSH1 format is not supported. | No, defaults to /Users/antoine/.ssh/known_hosts. | 
| failonerror | Whether to halt the build if the command does not complete successfully. | No; defaults to true. | 
| password | The password. | Not if you are using key based authentication or the password has been given in the file or todir attribute. | 
| keyfile | Location of the file holding the private key. | Yes, if you are using key based authentication. | 
| passphrase | Passphrase for your private key. | No, defaults to an empty string. | 
| output | Name of a file to which to write the output. | No | 
| append | Whether output file should be appended to or overwritten. Defaults to false, meaning overwrite any existing file. | No | 
| outputproperty | The name of a property in which the output of the command should be stored. | No | 
| timeout | Stop the command if it doesn't finish within the specified time (given in milliseconds). Defaults to 0 which means "wait forever". | No | 
Run a command on a remote machine using password authentication
<sshexec host="somehost" username="dude" password="yo" command="touch somefile"/>
Run a command on a remote machine using key authentication
<sshexec host="somehost" username="dude" keyfile="/Users/antoine/.ssh/id_dsa" passphrase="yo its a secret" command="touch somefile"/>
Run a command on a remote machine using key authentication with no passphrase
<sshexec host="somehost" username="dude" keyfile="/Users/antoine/.ssh/id_dsa" command="touch somefile"/>
Security Note:  Hard coding passwords and/or usernames
in sshexec task can be a serious security hole.  Consider using variable
substitution and include the password on the command line.  For example:
  <sshexec host="somehost"
	username="${username}"
	password="${password}"
	command="touch somefile"/>
Invoke ant with the following command line:
    ant -Dusername=me -Dpassword=mypassword target1 target2