CONEXIONES SSH EN PHP: CÓMO REALIZARLAS CON PHPSECLIB
Igual que se pueden realizar conexiones ftp en php también se pueden realizar conexiones ssh. Para poder realizar conexiones ssh en php se puede usar la librería phpseclib de fuelphp. La verdad es que es una librería bastante útil y sencilla de utilizar. Un ejemplo bastante útil sería hacer un script para actualizar el servidor de producción ya sea con software o hacer una subida como lo hace deployer. La librería phpseclib se puede instalar usando composer.Veamos un ejemplo:
require __DIR__ . '/vendor/autoload.php';
//Se usa así en la versión 3
use phpseclib3\Net\SSH2;
$ssh = new SSH2( 'ip_servidor');
if ( !$ssh->login( 'user', 'password ) ) {
exit( 'Login Failed' );
}
echo $ssh->exec( 'ls' );
Hay que tener en cuenta que cada vez que se ejecuta "$ssh->exec( 'comando' );" es como si se hiciese en una consola nueva, es decir, que si se hace:
echo $ssh->exec( 'ls' );
$ssh->exec( 'cd /ruta' );
echo $ssh->exec( 'ls' );
$ssh->exec( 'cd /ruta; ls' );