Задача Ant SCP через соединение SSH - PullRequest
2 голосов
/ 14 сентября 2011

Я хочу иметь возможность перенести свое приложение на сервер разработки, но чтобы получить к нему доступ, сначала нужно подключиться через ssh к SSH-шлюзу, а затем выполнить ssh во внутренней сети на соответствующем сервере. Я могу сделать это с WinSCP, используя опцию Tunnel, я знаю, что ant поддерживает задачи SCP, но поддерживает ли он его через другое соединение ssh?

Ответы [ 2 ]

0 голосов
/ 14 августа 2014

Хотя этот вопрос не совсем новый, сегодня я оказался в похожей ситуации. Моя цель - загрузить файлы и выполнить команды на удаленном сервере, к которому я должен туннелировать (через другой сервер). И это возможно с муравьем!

sshsession создает только туннель , который можно использовать для выполнения задач. Задачи внутри не запускаются автоматически на удаленном сервере, но вы можете использовать задачу sshexec вместе с tunnel для достижения этой цели. Также задача 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>
0 голосов
/ 15 сентября 2011

Как уродливое предложение, но не могли бы вы использовать задачу scp для развертывания приложения на шлюзе, а затем использовать задачу sshexec для запуска сценария на шлюзе, чтобы вывести приложение на следующий сервер?

...