我希望能够将我的应用程序转移到开发服务器,但为了访问它,我首先必须ssh到SSH网关,然后ssh到内部网络到相应的服务器。我可以使用隧道选项使用WinSCP执行此操作,我知道ant支持SCP任务,但它是否通过另一个ssh连接支持它?
答案 0 :(得分:0)
有点丑陋的建议,但您是否可以使用scp任务将您的应用部署到网关,然后使用sshexec任务在网关上运行脚本以将您的应用程序scp到下一个服务器?
答案 1 :(得分:0)
虽然这个问题并不是全新的,但我今天发现自己处于类似情况。我的目标是在我必须隧道(通过另一台服务器)的远程服务器上上传文件和运行命令。 蚂蚁可以实现!
sshsession
只会创建一个隧道,您可以将其用于其中的任务。其中的任务不会自动在远程服务器上运行,但您可以将sshexec
任务与隧道一起使用来实现此目的。此外,scp
任务现在可以通过隧道上传到远程服务器。这是一个例子:
<sshsession host="${jumphost}" port="22" username="${user}" password="${password}" trust="true">
<localtunnel lport="${localTunnelPort}" rhost="${targethost}" rport="22"/>
<sequential>
<!-- run a command on the remote server (here mkdir) -->
<sshexec host="localhost" port="${localTunnelPort}" username="${user.param}" password="${password.param}" command="mkdir ${home}/foobar" trust="true" />
<!-- upload a file to the remote server -->
<scp port="${localTunnelPort}" file="test_file.txt" todir="${user.param}:${password.param}@localhost:${home}/foobar/" trust="true" />
</sequential>
</sshsession>