La Web del Programador: Comunidad de Programadores
 
    Pregunta:  67953 - EJECUTAR ARCHIVO BATCH A TRAVÉS DE SSH DESDE PHP
Autor:  Juan José Jaime Aguilar
Buenas,

Estoy realizando un proyecto que combina varios lenguajes, entre ellos PHP, bash y batch.
Por un lado, tengo un script en batch (MS-DOS) en una máquina Windows, esta máquina sería el cliente.
Por el otro, tengo un servidor web Debian con una página en PHP. He montado un tunel SSH y puedo conectarme perfectamente desde el servidor Debian al cliente Windows (por ejemplo, ssh [email protected]).

Lo que quiero hacer es que desde otro cliente y abriendo la página PHP, ejecute un comando SSH que a su vez ejecute el BATCH en el primer cliente.

He visto en algunos foros algo como esto, pero no veo que me funcione nada:

<?php

function ejecuta() {

$conexion=ssh2_connect('shell.10.40.64.100', 2222);
ssh2_auth_password($conexion, 'ftpadm', 'ftpadministrador');

$comando=ssh2_exec($conexion, 'mkdir C:UserspcpcDesktopprueba');
}

echo '<input type="button" name="ejecutar" value="Ejecutar" onClick="'.ejecuta().'">';

?>

También vi en algún otro foro que había que instalar el módulo para apache "libssh2-php", que también tengo instalado.

Espero que sepan responderme, a ser posible con la mayor brevedad, se acerca la fecha de entrega del proyecto!

Un saludo!

  Respuesta:  xavi
Hola Juan José, viendo el código que nos muestras, parece que ya lo tienes solucionado, no?
para ejecutar el script de msdos, creo que te tendria que funcionar con:
$comando=ssh2_exec($conexion, 'C:UserspcpcDesktoppruebascrpt.bat');

Espero que te sirva