Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Usar SSH en PHP con phpseclib

Actualización 04/08/2026

Esta guía explica cómo trabajar sin el módulo PECL SSH2 client, que no está disponible en los servicios de alojamiento web y servidores en la nube de Infomaniak, utilizando en su lugar la biblioteca phpseclib, que funciona con PHP nativo sin necesidad de una extensión específica.

 

Introducción

  • El uso de PECL SSH2 client provoca errores de tipo No se encontraron algoritmos de intercambio de claves compatibles o No se pudieron intercambiar las claves de cifrado en su última versión disponible.
  • Phpseclib permite:
    • La autenticación SSH mediante contraseña o clave privada.
    • La ejecución de comandos remotos.
    • La transferencia de archivos seguros (SFTP).
    • La gestión de claves SSH.

 

Utilizar phpseclib

Para integrar una conexión SSH en un script PHP, utilice phpseclib de la siguiente manera:

use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;

$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));

if (!$ssh->login('usuario', $key)) {
    exit('Autenticación fallida');
}

echo $ssh->exec('ls -la');

¿Le ha sido útil esta FAQ?