我尝试在ant中打开ssh隧道,但它似乎立即关闭并需要在其下运行任务。如何在端口上打开隧道并保持打开状态,但在打开时不挂断其余任务?
我试过了:
<target name="tunnel">
<sshsession host="${ssh.host}" username="${username}" keyfile="${keyfile}" localtunnels="${port}:localhost:${port}">
<sequential />
</sshsession>
</target>
答案 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}'
然后杀掉它