在远程服务器上用PHP执行命令

问题描述 投票:0回答:2

我有一个用PHP编写的网页,我试图对远程服务器执行一系列命令。当运行这些命令时,我需要在另一台机器上运行它们,这样我就可以通过防火墙。

我可以寻找的大致思路是,在远程服务器上执行这个的输出

foreach ($filter as $filtered) {
    echo './script_to_execute_in_a_remote_server '.$filtered
}

所以,举例来说,我将在远程服务器上执行以下内容。

./script_to_execute_in_a_remote_server.sh attribute1 attribute2

而我使用SSH连接到中间服务器,连接到防火墙上。

 ssh root@firewall;

在那里,我使用SSH连接到远程服务器(这次是从防火墙)。

ssh root@server1;

而一旦我最终通过SSH连接到远程服务器,这时我就会执行之前打印出来的命令。

./script_to_execute_in_a_remote_server.sh attribute1 attribute2

我可以用什么方法做到这一点?

php unix exec server remote-server
2个回答
0
投票

一旦你通过php ssh2连接到防火墙,你就可以通过PHP ssh2会话传递一个普通的cli ssh命令。

ssh root@server1 ./script_to_execute_in_a_remote_server.sh attribute1 attribute2

发送这个命令会告诉防火墙连接到server1,执行这个命令,然后完成后断开连接。

© www.soinside.com 2019 - 2024. All rights reserved.