在Ant中打开ssh隧道并保持打开状态(但继续执行其他任务)

时间:2016-04-18 03:09:04

标签: ssh ant build

我尝试在ant中打开ssh隧道,但它似乎立即关闭并需要在其下运行任务。如何在端口上打开隧道并保持打开状态,但在打开时不挂断其余任务?

我试过了:

<target name="tunnel">
    <sshsession host="${ssh.host}" username="${username}" keyfile="${keyfile}" localtunnels="${port}:localhost:${port}">
        <sequential />
    </sshsession>
</target>

1 个答案:

答案 0 :(得分:0)

找到答案。您无法使用sshsession,而必须使用exec

<exec spawn="true" executable="ssh">
    <arg value="-t" />
    <arg value="-t" />
    <arg value="-L" />
    <arg value="4003:localhost:4003" />
    <arg value="username@server" />
</exec>

注意:双-t不是错误。你需要其中两个或者它不会工作

这在后台启动它。要关闭它,你需要找到你可以用grep执行的pid:ps aux | grep 4003 | grep -v grep | awl '{print $2}'然后杀掉它