代码之家  ›  专栏  ›  技术社区  ›  Chris

PHP shell_exec使用ssh运行shell脚本

  •  2
  • Chris  · 技术社区  · 15 年前

    我有一个shellscript,它使用ssh和一个密钥连接到另一台计算机,因此不需要用户名和密码。

    当我从命令行运行这个脚本时,它运行得很好。。但是当我从php shell_exec运行这个脚本时,它不起作用。

    如果我使用PHP建立ssh连接,并以自己的用户身份运行脚本,那么它确实可以工作。

    现在回答我的问题:D shell_exec 不以其他用户身份通过ssh建立连接?

    3 回复  |  直到 15 年前
        1
  •  1
  •   AndreKR    15 年前

    是否正确指定了私钥文件?

        2
  •  0
  •   Jens Bradler    15 年前

    如果您使用的是Ubuntu或Debian,那么web服务器将以用户名运行 www数据

    1) 成为web服务器的用户

    sudo su www-data
    

    2) 尝试连接远程主机

    ssh remoteUser@remoteHost
    

    www数据 . 您已经将SSH配置为使用密钥。对本地用户执行同样的操作 www数据 它会起作用的。

        3
  •  0
  •   Alfred redcoder    13 年前

    ssh连接似乎无法与 shell_exec . 如果我运行 shellscript 在下面 ssh2_exec 看起来确实管用。

    这有点奇怪,因为ssh连接是在带有公钥和私钥的脚本文件中建立的。。我想这应该是

    推荐文章