您的位置:首页 > 其它

Ant内置任务之sshsession

2018-03-25 23:23 211 查看

一、概述

sshsession是Ant1.8引入的内置任务,用于与运行ssh守护进程的远程计算机建立ssh连接。可以选择在该连接上建立任意数量的本地或远程隧道,并且在连接关闭之前执行任意的嵌套任务。此任务需要外部包jsch.jar版本为0.1.42+。

二、属性

host:要连接的远程主机的主机名或ip地址。

username:要连接的远程主机的用户名。

port:连接到远程主机的端口,默认为22。

localtunnels:以逗号分隔的lport:rhost:rport列表,用于定义本地端口转发。如果同时嵌套了localtunnel元素,将建立两组隧道。

remotetunnels:以逗号分隔的rport:lhost:lport列表,用于定义远程端口转发。如果同时嵌套了remotetunnel元素,将建立两组隧道。

trust:如果设置为true/yes,则信任所有未知主机。如果设置为false,则连接的主机必须在knownhosts中列出,默认为false。

knownhosts:设置用于验证远程主机标识的已知主机文件,文件必须是ssh2格式的。默认为${user.home}/.ssh/known_hosts。

failonerror:如果命令未成功完成,是否停止构建,默认为true。

password:密码,如果使用的是基于密钥的身份验证,或者在file或todir属性中设置了密码,则不需此属性。

keyfile:保存私钥的文件的位置,如果使用基于密钥的认证,则必须设置此属性。

passphrase:私钥的密码。默认为空字符串。

timeout:如果在指定的毫秒时间内无法建立连接,则放弃。默认为0,即永远等待。

支持以下嵌套元素:

localtunnel:可以选择使用任意数量的localtunnel元素,通过ssh连接定义本地端口转发,具有以下属性:

lport:要转发的本地端口号。

rhost:本地端口要转发到的远程主机的主机名或ip地址。

rport:本地端口要转发到的远程主机的端口号。

remotetunnel:可以选择使用任意数量的remotetunnel元素定义通过ssh连接的远程端口的转发,具有以下属性:

rport:要转发的远程端口号。

lhost:远程端口应转发到的本地主机的主机名或ip地址。

lport:应向其转发远程端口的本地主机的端口号。

sequential:sequential元素是必须的,它是在ssh建立连接并建立所有本地或远程隧道后要执行的操作的任务的容器。

三、简单示例

<project>
<sshsession host="192.168.0.112" username="root" password="root" trust="true">
<sequential>
<scp trust="true" file="build.xml" todir="root:root@192.168.0.112:/root"/>
</sequential>
</sshsession>
</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息