如何使用 Ant SSHECc 执行 sudo 命令



我正在尝试使用 sudo 在远程服务器中执行这样的命令

<target name="remote-test">
    <sshexec host="${remote.host}"
        username="${remote.user}"
        password="${remote.pass}"
        trust="true"
        usepty="true"
        command="sudo ls /home/myuser" />
</target>

但服务器响应如下:

Buildfile: build.xml
remote-test:
  [sshexec] Connecting to 0.0.0.0:22
  [sshexec] cmd : sudo ls /home/myuser
  [sshexec] [sudo] password for myuser:

那么,如何使用 ant 使用 sudo 执行远程命令呢?

谢谢:)

是的,也许可以像这样复制:

如何在不覆盖 TTY 的情况下将密码传递给 su/sudo/ssh?

但无论如何,这个问题的一个解决方案就像在投票最多的答案中所说的那样

<target name="remote-test-jboss">
    <sshexec host="${remote.host}"
        username="${remote.user}"
        password="${remote.pass}"
        command="echo ${remote.pass}| sudo -S ls /home/myserver" 
        trust="true"
    />
</target>

-S 参数用于从标准输入读取。

相关内容

  • 没有找到相关文章

最新更新