-1

PHP 7.2 で ssh2 を使用して、リモート ファイアウォール fortigate でいくつかのコマンドを実行しようとしています。Ssh接続はうまくいきますが、私の問題は、fortigateでは1行で多くのコマンドを送信できないことです。つまり、 "'$ command1'. ' && '.'. $ command2 '". 同じセッションでコマンド 1、次にコマンド 2、最後にコマンド 3 を実行するために、3 つの連続したコマンドを送信するのに役立つコードはありますか?

これは私の実際のコードです

<?php

 $consulta1 = 'config firewall policy';
 $consulta2 = 'edit 32';
 $consulta3 = 'set status disable';
 $consulta4 = 'end';

$connection = ssh2_connect('192.168.0.100', 22);

ssh2_auth_password($connection, 'user', 'pass');

$ejecucion = "$consulta1 ;  $consulta2";

$stream = ssh2_exec($connection, $ejecucion);

stream_set_blocking($stream, true);

$datos = "";

while($buffer = fread($stream, 4096)){
   $datos .= $buffer . "<br>";
   echo $buffer;
}

fclose($stream);

ssh2_disconnect($connection);

?>

"'$ command1'.' && '.' を送信した場合 $ command2 '" は、ssh コマンドとして構文エラーを返しました。これは、fortigate が 1 行で多くのコマンドをサポートしていないためです。

4

1 に答える 1