Использование ANT для копирования файлов через SCP на сервер Ubuntu с отключенным рутом (требуется SUDO) - PullRequest
1 голос
/ 25 июня 2011

Я хочу скопировать файлы из моей локальной среды разработки (Win7, Eclipse, ANT) на удаленный сервер Ubuntu.Ubuntu Sever блокирует root по умолчанию, поэтому все команды копирования требуют sudo cp ....

Есть ли способ использовать ANT для этого?Я не вижу никаких вариантов использования SUDO, но я новичок в использовании ANT.

Ответы [ 5 ]

1 голос
/ 27 июня 2011

Когда ваша локальная среда разработки находится в Windows, вы можете использовать Putty Client , бесплатный клиент Telnet / SSH для Windows. Просто используйте инструменты командной строки plink, pscp, .. что Putty предоставляет и использует их в задаче Ant exec.
см. Документация по замазке для получения более подробной информации
plink => http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink

1 голос
/ 25 июня 2011

Установите cygwin (cygwin.com) или mingw (mingw.org) и используйте оттуда scp / ssh.Там гораздо проще настроить авторизацию (вы делаете это в $ HOME / .ssh / как обычно), чтобы вам не нужно было передавать ее в сценарии ant.

0 голосов
/ 10 декабря 2011

Как насчет следующих задач муравья?

<scp  todir="{$username}:{$password}@{$host}:/tmp/x" sftp="true">
  <fileset dir="."/>
</scp>
<sshexec host="{$host}" username="{$username}" password="{$password}"
         trust="yes" command="sudo -S -p '' mv /tmp/x /root/x"
         input="/tmp/input"/>

, где "/ tmp / input" будет содержать пароль для "sudo". Если вы используете муравей 1.8.3, Вы можете использовать атрибут «inputtring».

0 голосов
/ 09 декабря 2011

Я согласен, что это будет легко сделать с помощью Cygwin / Mingw, но если вы хотите сделать все на чистой Java, вот пример для выполнения sudo, http://www.jcraft.com/jsch/examples/Sudo.java

0 голосов
/ 25 июня 2011

Использование SCP Задача. Это зависит от jsch . Я использую это для копирования файлов из Windows в Unix. Возможно, он может скопировать из Unix в Windows (если Windows работает SSH-сервер)

...