使用ANT通过SCP将文件复制到禁用了root的Ubuntu服务器上(必需SUDO)

| 我想将文件从本地开发环境(Win7,Eclipse,ANT)复制到远程Ubuntu服务器。 Ubuntu服务器在默认情况下会锁定root用户,因此所有复制命令都需要“ 0”。 有没有办法使用ANT轻松完成此任务?我看不到使用SUDO的任何选项,但是我是使用ANT的新手。     
已邀请:
        安装cygwin(cygwin.com)或mingw(mingw.org),然后从那里使用scp / ssh。在这里设置授权要容易得多(您可以像往常一样在$ HOME / .ssh /中进行授权),这样就不必在ant脚本中传递它。     
        当您的本地开发环境在Windows上时,您可以使用Putty Client(Windows的免费Telnet / SSH客户端)。只需使用Putty提供的命令行工具plink,pscp,..并在Ant exec任务中使用它们。 有关更多详细信息,请参见腻子文档 plink => http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink     
        使用SCP Task。这与jsch有关。我用它来将文件从Windows复制到UNIX。它可能可以从Unix复制到Windows(如果Windows正在运行ssh服务器)     
        我同意使用cygwin / mingw会很容易, 但是,如果您想使用纯Java进行所有操作,下面是exec sudo的示例, http://www.jcraft.com/jsch/examples/Sudo.java     
        跟随蚂蚁任务怎么样?
<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 \”的密码。如果您使用ant-1.8.3, 您可能要使用\“ inputstring \”属性。     

要回复问题请先登录注册