gpt4 book ai didi

php - 如何执行使用 ssh 和 php 的 bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:39 24 4
gpt4 key购买 nike

我想用 php 执行脚本 bash。我的脚本将我登录到我的服务器,然后为我创建我的帐户。

SCRIPT="useradd martinouh --home /home/martinouh --create-home; echo martinouh:$pass | chpasswd; usermod -s /bin/bash martinouh; usermod -aG sudo martinouh; usermod -aG docker martinouh;"

sshpass -p $pass ssh -o StrictHostKeyChecking=no root@$ip "${SCRIPT}"

sshpass -p $pass ssh-copy-id -i /home/Martinouh/.ssh/id_rsa.pub martinouh@$ip

但是当我通过 shell_exec(); 运行它时,它会执行脚本,但不会执行带有 sshpass 的部分。

我应该怎么做才能执行它?

目前,只是为了测试shell_exec();。我正在通过调用包含以下内容的 localhost/script.php 来执行我的脚本

<?php
$output = shell_exec('bash select.sh');
echo $output;
?>

我在 error_log 中得到这个:

 Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied

也许这与 selinux 和 apache 权限有关?

最佳答案

由于错误消息涉及伪终端,请尝试使用 -T 禁用它。大多数需要伪终端功能的功能都是交互式的,无论如何都不适用于这种情况。

关于php - 如何执行使用 ssh 和 php 的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43467633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com