我有一个shell脚本,如下所示
#/bin/bash
SSHPASS='user'
SSHHOST='192.168.1.20'
SSHUSER='user'
ssh -t $SSHUSER@$SSHHOST << EOF
echo "Changing Directoy to Cloud"
cd /home/user/cloudit_2/it_cloud
git status
sleep 3
touch /tmp/abc.txt
ls -lah /tmp
rm -rf /tmp/abc.txt
sudo -S service ssh restart
$SSHPASS
EOF
我想在网页上运行上面的脚本,所以我在下面创建了我的HTML文件
<html>
<h1>Deploy</h1>
<form name="input" action="install.php">
<input type="submit" value="Submit">
</form>
</html>
install.php如下
<?php
$output = shell_exec("/bin/sh a.sh");
echo "<pre>$output</pre>";
?>
当我使用php install.php时,它工作正常。但是,当我试图从网页上运行它时,它没有用。
答案 0 :(得分:0)
感谢@Bozidar Sikanjic
我已按照以下步骤确定问题
mkdir -p /var/www/.ssh
sudo -u www-data ssh-keygen -t rsa
将id_rsa.pub复制到远程主机(我们将在脚本中使用ssh)授权的_key文件,这很有效。
因此,这意味着apache用户有权使用ssh write登录远程主机。