Хорошо ... Я вижу, что я опоздал на год, но для новичков я решил эту проблему.Моя цель состояла в том, чтобы выполнить команду от имени пользователя root, не раскрывая мой пароль (очевидно)
<target name="getServerCredentials" unless="${server.user}">
<input message="${server-name} user:" addproperty="server.user" />
<input message="${server.user} password:" addproperty="server.pass">
<handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>
</target>
<target name="execute-command" depends="getServerCredentials">
<sshexec host="${server-name}" username="${server.user}" password="${server.pass}" command="~./become-root.sh" inputproperty="server.pass"/>
</target>
Наконец я создал скрипт bash в ~ / становлении-root.sh на моем сервере, который выглядел так*
#!/bin/sh
read var
echo $var | sudo -S whoami --
Если вы вызываете задачу execute-command, теперь вы можете запускать команды как sudo (при условии, что ваш пользователь sudoer)
Надеюсь, это поможет!