首页 > 解决方案 > SSH 进入服务器,稍后使用 Phing 执行 sudo

问题描述

我们已经设置了一个服务器,因此您不能直接使用 root 登录。您首先使用用户登录,然后运行 ​​su 并输入密码。

我需要使用 phing 将 SSH 连接到服务器,然后使用 sudo 运行命令。我想如果我可以通过 使其工作ssh,我可以在 phing 的 exec 任务中使用该命令,但甚至无法正确使用普通的 SSH。

这可能吗?

我尝试了以下方法:

ssh user@server 'su && cd /var/www/clients'
ssh user@server 'su && {{password}} && cd /var/www/clients'

标签: sshphing

解决方案


您可以使用SshTaskhow-to-pass-the-password-to-su-sudo-ssh-without-overriding-the-tty

<project name="ssh-with-later-sudo" default="run-cmd" basedir=".">
    <target name="run-cmd">
        <ssh username="user" password="password" host="server" command="echo password | sudo -S cd /var/www/clients" />
    </target>
</project>

推荐阅读