Lo primero: ¿Para que sirve conectarse por ssh a una máquina?
La respuesta es fácil, para ejecutar comandos en máquinas remotas. Y como cuales?
Por ejemplo, imaginate que quieres averiguar el tiempo que lleva un servidor o tu propia máquina (en linux) encendida. Para eso tenemos el comando uptime. Entonces desde php escribiriamos esto:
ssh2_exec($ssh, "uptime");
Lo que nos devolvería lo siguiente:
16:37:31 up 2 days, 3:59, 2 users, load average: 0.18, 0.20, 0.21
Para hacerlo bien a través de PHP hay que escribir las siguientes instrucciones:
<?php
//Conexión al servidor dónde "shell.example.com" es el servidoy y 22 el puerto. $connection = ssh2_connect('shell.example.com', 22);
//Una vez conectados hay que autenticarse dónde $conecction es el manejador de la conexión y los otros valores son el usuario y la contraseña. ssh2_auth_password($connection, 'username', 'password');
//Por último ejecutamos el código en la máquina remota, dónde el primer parametro es el manejador de la conexión y el segundo el parametro en cuestión $stream = ssh2_exec($connection, '/usr/local/bin/php -i');
//Todo esto se guardaría en la variable $stream que podemos mostrar de la siguiente forma
echo "<pre>;
print_r($stream);
echo "</pre>"; ?>
Más información acerca de la función ssh aquí
Que tal,
Chevere con el ejemplo, pero tengo una duda al ejecutarlo me muestra lo siguiente:
Resource id #2
que podre estar haciendo mal?, gracias de antemano.