我想用php執行我的腳本bash。我的腳本將我登錄到我的服務器,然後創建我的帳戶。如何執行一個bash腳本,使用ssh和php
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 [email protected]$ip "${SCRIPT}"
sshpass -p $pass ssh-copy-id -i /home/Martinouh/.ssh/id_rsa.pub [email protected]$ip
但是當我通過shell_exec();
運行它確實執行腳本,但不與sshpass
的部分。
我該怎麼做才能執行它?
此刻,只是爲了測試shell_exec();
。
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許可的事:我調用本地主機/ script.php的,包含以下
<?php
$output = shell_exec('bash select.sh');
echo $output;
?>
我會在error_log獲得這個執行我的腳本?
當手動執行bash腳本時是否按預期工作? –
是的,它運行正常,當我手動運行它。 – Martinouh
你能提供更多關於你如何使用php執行的細節? –