Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Usar SSH en PHP con phpseclib
Esta guía explica cómo trabajar sin el módulo PECL SSH2 client
no disponible en alojamientos web y Servidores Cloud Infomaniak, en lugar de utilizar la biblioteca phpseclib
, que funciona en PHP nativo sin necesidad de una extensión específica.
Preámbulo
- La utilización de
PECL SSH2 client
causa errores de tipoNo compatible key exchange algorithms found
oUnable to exchange encryption keys
en su última versión disponible. Phpseclib
permite:- La autenticación SSH por contraseña o clave privada.
- Ejecutar comandos remotos.
- Transferencia de archivos seguros (SFTP).
- Gestión de llaves SSH.
Usar phpseclib
Para integrar una conexión SSH en un script PHP, utilice phpseclib
como se indica a continuación:
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('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');
Enlace a esta FAQ: