Ant内置任务之sshsession

一、概述

        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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值