Cómo conectarse por SSH a través de PHP

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í

1 Respuesta

  1. Jorge Ramirez

    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.

Responder a Jorge Ramirez